[Bug 228444] "exa-0.8.0" panics the kernel while auditd(8) is running and audit_mask is set as "pc"

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Jul 10 21:57:23 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228444

Alan Somers <asomers at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|bugs at FreeBSD.org            |asomers at FreeBSD.org
             Status|New                         |Open

--- Comment #3 from Alan Somers <asomers at FreeBSD.org> ---
I reproduced this bug in a different way.  Simply doing a kernel build while
"pc" is in the audit mask and auditd is running will do it.  I also found the
root cause:

1) kern_thr_exit locks the process's spin lock with PROC_SLOCK(p)
2) thread_exit() calls AUDIT_SYSCALL_EXIT while the spin lock is still held
3) a few stack frames later, au_event_class tries to lock a rwlock with
EVCLASS_RLOCK.  However, witness forbids grabbing an rwlock while holding a
spin lock.

The likeliest solution is to fix thread_exit so that AUDIT_SYSCALL_EXIT isn't
called with the spin lock held.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list