NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/48135: Bad locking for umount

The following reply was made to PR kern/48135; it has been noted by GNATS.

From: "J. Hannken-Illjes" <>
Subject: Re: kern/48135: Bad locking for umount
Date: Thu, 22 Aug 2013 12:36:21 +0200

 On Aug 21, 2013, at 11:20 PM, Michael van Elst <> =
 > On Wed, Aug 21, 2013 at 10:35:00AM +0000, J. Hannken-Illjes wrote:
 >> This fix looks wrong.
 >> If it is possible for the (last) reference to go away while =
 vfs_busy() is
 >> running it is also unsafe to increment the reference counter here as =
 >> could be zero and be freed from vfs_destroy().
 > It is supposed to be a precondition to vfs_busy() that the reference =
 > is not zero, otherwise it couldn't use the mp pointer for anything.
 If this precondition "The caller must hold a pre-existing reference to =
 the mount"
 would be met this error could not happen as vfs_busy() will not =
 the reference count.
 And if this precondition is not met even incrementing the reference
 count is prone to races as the reference count is part of the mount =
 Btw.: I'm not able to reproduce this error here -- what exactly is
       your setup (amd configuration etc.)
 J. Hannken-Illjes - - TU Braunschweig 

Home | Main Index | Thread Index | Old Index