Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2023 18:10:54 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 275169] Panic: rw_rlock: wlock already held for tcpinp @ /usr/src/sys/netinet/in_pcb.c:2529
Message-ID:  <bug-275169-227-jYj4VXFFOa@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-275169-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-275169-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D275169

Mark Johnston <markj@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markj@FreeBSD.org
             Status|New                         |Open

--- Comment #11 from Mark Johnston <markj@FreeBSD.org> ---
I'm fairly sure the problem isn't fixed in 14.0.  tcp_output() and ip_outpu=
t()
may transmit a packet while holding the inpcb lock, and the pfil hook in
ether_output_frame() doesn't know this, so when ipfw does a jail/user/group
match, it tries to look up the inpcb and re-locks it, resulting in recursio=
n.

Actually, I am a bit surprised that TCP/IP layers hold onto the PCB lock wh=
ile
calling into lower layers.

--=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-275169-227-jYj4VXFFOa>