System call munmap returning with the following locks held: Giant

Alan Cox alc at
Thu Jan 19 12:38:35 PST 2006

On Thu, Jan 19, 2006 at 11:14:24AM -0500, John Baldwin wrote:
> 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?


More information about the freebsd-current mailing list