From nobody Sun Oct 11 02:55:11 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4j2QFD2Qfyz6wH5S for ; Sun, 11 Oct 2026 02:55:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4j2QFD0pjxz4Kx5 for ; Sun, 11 Oct 2026 02:55:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791687312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CPyy2evKicHdVVscXRcqbyabxn8FD8B3JzvlT816hwg=; b=XVYIKxoiMVfhC7FRdFv59RqJd7FBNOB3SkripN6DsjsDRvw20Vj13s2pSpXXXySSUskk48 fzdbToOP2FCyD5Ajj02Dq93RlwERqh6MVy+YVBM8JCmUAK7eJbOxG/MqPI9gqQd0FwflBy t4RkteSoAaYxjSW+7OgEEs63EGNabBAYLaBIkBd5gsEYlzp8nPpxEAwT71WwsCnr76zrlh e6JeM2QrnWGtRutuxhRI+CpYkpo/LqVvSdFyV5jQFtz3M+KIpfChiunWjjAhm01aZFzxck JjJ3dwqEF+Ucl0YMlwr7gDFF0cpV9SxpLUkmQkdayfpy5eU/u+x7gCUTPVqOQA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1791687312; b=jKjAzhncmfhPFMczsfYOvNMAuiR/bCc48iZw+CuypSqHop39TCjaGrSskVpn/PdBOvhXct gPPcZZavEEvsd87FWamuFvG3Dhm9iXoCENcqhlUu7vWxzKdOwhFHwfnviF0MexrD57IpMi ydmQ5zlZaUsaIIjJotPNt2FhPM8IBoVVyFbfSxC5hXi1xv1ZFqoj13wJ/P8a6JmplDjYIN ouRQBwy1H+hQ9c15eKZkaPsc6i6TnZau6uC0eYl9m3j/nPPdcWkjecjUmC0UmEoA4qTEbc kC18RyNqBIw1Hp3QWrssnZp0Pu1Z2knYM/3PlmPA5NYlyP+Jpq7V6G24IrsazA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1791687312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CPyy2evKicHdVVscXRcqbyabxn8FD8B3JzvlT816hwg=; b=D64s9YpcD1CKcFS7a7jIDwikNc1qFz/T2JAVh4usU43c4uw6BV7zmomTuocM38kX7czwND 50KOwbouI/m7NVpjYJkoSSdtw15EP28nZnST2fcK3c8CN1EaWq/ToNDVSJUnwoggU7syPy NB0GjEvKH19o1f8Rch13TFJW2qMYE7V95R7MfBNwa9t9sba161erKIW2CsJCJPa++GAutJ i3uWM16o5vV2XlX1YUY8srEOcKXcjyoQwYi6WD3TlKO7imHBQKOmIoXwxzqQegkEP7s3FD 07UWlz5kMAnGHHBfVm+bCDGcKAQO/Cb14XOB2M7pXhs5OfHq3slAWiXxjXmSUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4j2QFC6CQJzMTY for ; Sun, 11 Oct 2026 02:55:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3e1f9 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 11 Oct 2026 02:55:11 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 28eefc7da0ca - stable/15 - clnt_vc.c: Fix handling of backchannel xprt List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 28eefc7da0caa56e1e2761d7f06c126267c33d72 Auto-Submitted: auto-generated Date: Sun, 11 Oct 2026 02:55:11 +0000 Message-Id: <6acafa8f.3e1f9.74a02a26@gitrepo.freebsd.org> The branch stable/15 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=28eefc7da0caa56e1e2761d7f06c126267c33d72 commit 28eefc7da0caa56e1e2761d7f06c126267c33d72 Author: Rick Macklem AuthorDate: 2026-10-04 20:29:43 +0000 Commit: Rick Macklem CommitDate: 2026-10-11 02:53:18 +0000 clnt_vc.c: Fix handling of backchannel xprt When clnt_vc_destroy() is called, it might not be the current connection. Without this patch, if it is not the current connection, xp_p2 is set NULL and xprt is released when it should not be released. This patch adds a check for "current connection" to fix the problem. Found during testing to the client RDMA code, but could happen for TCP as well. (cherry picked from commit 81a6514689cefdaa5c92b5539ae885ec8c6b3336) --- sys/rpc/clnt_vc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/rpc/clnt_vc.c b/sys/rpc/clnt_vc.c index e395cd27ccaa..9b12212f9a2e 100644 --- a/sys/rpc/clnt_vc.c +++ b/sys/rpc/clnt_vc.c @@ -856,6 +856,7 @@ clnt_vc_destroy(CLIENT *cl) struct socket *so; SVCXPRT *xprt; uint32_t reterr; + bool_t rlse; clnt_vc_close(cl); @@ -864,11 +865,16 @@ clnt_vc_destroy(CLIENT *cl) ct->ct_backchannelxprt = NULL; if (xprt != NULL) { mtx_unlock(&ct->ct_lock); /* To avoid a LOR. */ + rlse = FALSE; sx_xlock(&xprt->xp_lock); mtx_lock(&ct->ct_lock); - xprt->xp_p2 = NULL; + if (xprt->xp_p2 == ct) { + xprt->xp_p2 = NULL; + rlse = TRUE; + } sx_xunlock(&xprt->xp_lock); - SVC_RELEASE(xprt); + if (rlse) + SVC_RELEASE(xprt); } /* Wait for the upcall kthread to terminate. */