summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_linker.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1999-01-19 16:26:32 +0000
committerpeter <peter@FreeBSD.org>1999-01-19 16:26:32 +0000
commit3e5ec8fe1cc18c07eed0e6181e49329a03884171 (patch)
treed3c296ad99091fc4bf8bb2726896f3e176f40061 /sys/kern/kern_linker.c
parent68f7f1546c1b3f32e732eef6f7f13841376cf4e9 (diff)
downloadFreeBSD-src-3e5ec8fe1cc18c07eed0e6181e49329a03884171.zip
FreeBSD-src-3e5ec8fe1cc18c07eed0e6181e49329a03884171.tar.gz
Don't decrement userrefs unless the file was actually was unloaded.
Submitted by: Ustimenko Semen <semen@iclub.nsu.ru>
Diffstat (limited to 'sys/kern/kern_linker.c')
-rw-r--r--sys/kern/kern_linker.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index 4900784..fddb5082 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: kern_linker.c,v 1.18 1999/01/05 20:24:28 msmith Exp $
+ * $Id: kern_linker.c,v 1.19 1999/01/17 17:58:52 peter Exp $
*/
#include "opt_ddb.h"
@@ -664,8 +664,10 @@ kldunload(struct proc* p, struct kldunload_args* uap)
error = EBUSY;
goto out;
}
- lf->userrefs--;
error = linker_file_unload(lf);
+ if (error)
+ goto out;
+ lf->userrefs--;
} else
error = ENOENT;
OpenPOWER on IntegriCloud