From owner-freebsd-bugs Sun Jan 17 08:00:03 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id IAA29207 for freebsd-bugs-outgoing; Sun, 17 Jan 1999 08:00:03 -0800 (PST) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id IAA29186 for ; Sun, 17 Jan 1999 08:00:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id IAA02137; Sun, 17 Jan 1999 08:00:01 -0800 (PST) Received: from lion.butya.kz (butya-gw.butya.kz [194.87.112.252]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id HAA28935 for ; Sun, 17 Jan 1999 07:55:06 -0800 (PST) (envelope-from bp@butya.kz) Received: from bp by lion.butya.kz with local (Exim 2.054 #1) id 101uXN-0001yI-00 for FreeBSD-gnats-submit@freebsd.org; Sun, 17 Jan 1999 21:54:53 +0600 Message-Id: Date: Sun, 17 Jan 1999 21:54:53 +0600 From: bp@butya.kz Reply-To: bp@butya.kz To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: kern/9541: Error in kldunload function Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 9541 >Category: kern >Synopsis: Error in kldunload function >Confidential: no >Severity: critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jan 17 08:00:01 PST 1999 >Closed-Date: >Last-Modified: >Originator: Boris Popov >Release: FreeBSD 3.0-CURRENT i386 >Organization: none >Environment: FreeBSD 3.0-CURRENT i386, elf kernel >Description: Count of user refs to KLD decremented before call to function linker_file_unload, so if module refuses to unload once, it will be impossible to unload it again, even if module ready to unload. >How-To-Repeat: Load any filesystem module, mount corresponding file system, try to unload. Then umount previosly mounted file system and try to unload module again. >Fix: --- kern_linker.c.old Wed Jan 13 14:40:39 1999 +++ kern_linker.c Sun Jan 17 21:41:24 1999 @@ -653,8 +653,8 @@ error = EBUSY; goto out; } + if ((error = linker_file_unload(lf)) == 0) lf->userrefs--; - error = linker_file_unload(lf); } else error = ENOENT; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message