System call munmap returning with the following locks held: Giant

Kris Kennaway kris at obsecurity.org
Thu Jan 19 13:24:02 PST 2006


On Thu, Jan 19, 2006 at 02:38:33PM -0600, Alan Cox wrote:
> On Thu, Jan 19, 2006 at 11:14:24AM -0500, John Baldwin wrote:
> [snip]
> > 
> > Are you really sure the object's type can change or does the caller of 
> > vm_object_deallocate() hold some sort of reference or what not that prevents 
> > the type from changing?
> > 
> 
> My recollection is that the object does not change type until all of
> the references have been drained and it is about to be freed by
> vm_object_terminate().  At the point where the type check is being
> performed, the caller should hold a reference on the object.  Thus,
> the type should not be changing.
> 
> That said, an unexpected type change still strikes me as the most
> plausible cause.
> 
> Is there a test that easily reproduces this problem?

Racing mmap/munmap on NFS with umount -f.  I'll send you the code I'm
using (from ups@) separately.

Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20060119/3ccf6b1c/attachment.bin


More information about the freebsd-current mailing list