[Bug 235640] panic: mutex pipe mutex not owned at ../../../kern/sys_pipe.c:1748

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Feb 16 23:20:59 UTC 2019


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

--- Comment #3 from Mark Johnston <markj at FreeBSD.org> ---
This is caused by a race between one end of a pipe being closed and the
registration of an EVFILT_WRITE knote for the other end of the pipe.  Suppose
f_attach (pipe_kqfilter()) succeeds, but before kn_list_lock() is called, the
other end of the pipe is closed.  pipeclose() removes the EVFILT_WRITE knote
from that end's knlist, so kn_list_lock() returns NULL, and we call
filt_pipewrite() without the pipe's mutex held.

I think this simply means that the assertion in filt_pipewrite() is wrong.  We
can only assert that the pipe lock is held if wpipe->pipe_present ==
PIPE_ACTIVE.

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


More information about the freebsd-bugs mailing list