System call munmap returning with the following locks held: Giant

Alan Cox alc at cs.rice.edu
Thu Jan 19 12:38:35 PST 2006


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?

Alan



More information about the freebsd-current mailing list