kern/186362: [panic] _mtx_lock_sleep() misses check for NULL

Eugene Grosbein eugen at grosbein.net
Sun Feb 2 14:00:01 UTC 2014


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

From: Eugene Grosbein <eugen at grosbein.net>
To: Andriy Gapon <avg at FreeBSD.org>
Cc: bug-followup at FreeBSD.org
Subject: Re: kern/186362: [panic] _mtx_lock_sleep() misses check for NULL
Date: Sun, 02 Feb 2014 20:54:24 +0700

 On 02.02.2014 19:55, Andriy Gapon wrote:
 > 
 > NULL check would be redundant there as it is already established that the lock
 > is owned and thus must have an owner.
 > What seems to be happening that is that the thread is trying to acquire a lock
 > that has been corrupted somehow.  E.g. never initialized or its memory location
 > overwritten.
 > 
 > Better diagnostics for that case when INVARIANTS are enabled is warranted though.
 > 
 > Returning to the main issue, I wonder if the following message are related to
 > the problem:
 > 
 > module_register: module mac_portacl already exists!
 > Module mac_portacl failed to register: 17
 > 
 > I seem to recall that in some cases our kernel module loading infrastructure may
 > refuse to load a duplicate module, bu nevertheless re-resolve a symbol name to
 > point to a symbol in the duplicate module rather than in the original.  Which is
 > a bug, of course.
 
 I've disabled loading of mac_portacl in loader.conf keeping options MAC_PORTACL
 in my kernel and panic is no more.
 
 Do you still need additional INVARIANTS-enabled debug info?
 
 Eugene Grosbein
 
 


More information about the freebsd-bugs mailing list