[Bug 289734] panic tcp_usr_close while running mount command after configure NFS over TLS

[email protected] Tue, 30 Jun 2026 17:22:18 +0000
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289734

--- Comment #29 from [email protected] ---
A commit in branch releng/15.0 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=7b3373d4eb5f86345e743e1233866fa7b0ff6160

commit 7b3373d4eb5f86345e743e1233866fa7b0ff6160
Author:     Mark Johnston <[email protected]>
AuthorDate: 2026-06-15 15:52:24 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2026-06-30 02:32:57 +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.

    Approved by:    so
    Security:       FreeBSD-EN-26:17.rpcsec_tls
    PR:             289734
    Reviewed by:    rmacklem, glebius
    MFC after:      1 week
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D57555

    (cherry picked from commit fc7993cf2d6ddba9f94683565838bf8fabc0145c)
    (cherry picked from commit f3b14134dec11c2f09980f25c4c60accbfea0f1e)

 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.