Skip site navigation (1)Skip section navigation (2)
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>