Date: Mon, 24 Jun 2019 12:41:41 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 238789] panic: mutex so_rcv not owned at /usr/src/sys/kern/uipc_socket.c:2359 Message-ID: <bug-238789-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D238789 Bug ID: 238789 Summary: panic: mutex so_rcv not owned at /usr/src/sys/kern/uipc_socket.c:2359 Product: Base System Version: 12.0-STABLE Hardware: amd64 OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: greg@codeconcepts.com If the call to sblock() in soreceive_stream() returns non-zero we 'goto out= ', but since we have not yet acquired the sockbuf lock we trip the SOCKBUF_LOCK_ASSERT() at the "out" label. The following patch seems to work for me, but neglects to make the checks t= hat are done under the sockbuf lock after the "out" label. $ svnlite diff sys/kern/uipc_socket.c Index: sys/kern/uipc_socket.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/kern/uipc_socket.c (revision 349288) +++ sys/kern/uipc_socket.c (working copy) @@ -2196,7 +2196,7 @@ /* Prevent other readers from entering the socket. */ error =3D sblock(sb, SBLOCKWAIT(flags)); if (error) - goto out; + return error; SOCKBUF_LOCK(sb); /* Easy one, no space to copyout anything. */ svnlite info Path: . Working Copy Root Path: /usr/src URL: https://svn.freebsd.org/base/stable/12 Relative URL: ^/stable/12 Repository Root: https://svn.freebsd.org/base Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f Revision: 349288 Node Kind: directory Schedule: normal Last Changed Author: gjb Last Changed Rev: 349232 Last Changed Date: 2019-06-20 09:34:45 -0500 (Thu, 20 Jun 2019) [greg@sm1 src] $ svnlite status ? sys/amd64/conf/SM1 M sys/kern/uipc_socket.c --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-238789-227>