[Bug 289734] panic tcp_usr_close while running mount command after configure NFS over TLS
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Jun 2026 15:55:27 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289734
--- Comment #26 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=fc7993cf2d6ddba9f94683565838bf8fabc0145c
commit fc7993cf2d6ddba9f94683565838bf8fabc0145c
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2026-06-15 15:52:24 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2026-06-15 15:54:30 +0000
rpcsec_tls: Avoid a socket reference underflow in rpctls_server()
The upcall_sockets tree owns a ref on any resident socket. When a
socket is removed after a TLS handshake failure, rpctls_rpc_failed()
thus calls soclose().
rpctls_server() does not acquire an extra ref to compensate for this.
So, if the upcall fails, e.g., because rpc.tlsservd is not running,
we'll call soclose() to drop the reference, but this effectively
releases the xprt layer's reference.
Fix the problem by explicitly acquiring a socket reference when adding
a socket to the upcall tree.
PR: 289734
Reviewed by: rmacklem, glebius
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57555
sys/rpc/rpcsec_tls/rpctls_impl.c | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
--
You are receiving this mail because:
You are the assignee for the bug.