From nobody Wed May 11 00:30:08 2022 X-Original-To: dev-commits-src-branches@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 8A68B1AE4C77; Wed, 11 May 2022 00:30:09 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KybQm49gMz4p32; Wed, 11 May 2022 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652229008; 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=gunbfRZzRaqC3pjcRhSOAHrvh+8UHxPqDviD9fiDnC4=; b=fhGynIaJlUQSHj+T5cqygoWukk8AVU/ba2Oj/dZkNS73EBUaqVf6wmpmJw62xzpgdrEv+Z R72OHyeMufa88TSCfTYHr8SvVsCbH/YCjezM3zFqW1upfSqCv/Hveks1cGhK6PVRp54z+F fjyFKfdad+dn3Cte1Wkm+zN1M1TVI4GPRFbw2g7DHP2WJFzqQhGYR1bquf60EJ/rp7ixYL 9Iqv5MaReu+nDKPuuMs7orc6VAMzpbq4TBuzJPCxkwwyRfPcEtoOURZyeflXIihbePyFi8 AIWPXLlCLJm7Wmpe5sVWwBqvM2FOPFLuPwzN1AePoyYfQ/f5UHWfuovHx03vsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4E95C7847; Wed, 11 May 2022 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 24B0U8CT057319; Wed, 11 May 2022 00:30:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 24B0U8I8057317; Wed, 11 May 2022 00:30:08 GMT (envelope-from git) Date: Wed, 11 May 2022 00:30:08 GMT Message-Id: <202205110030.24B0U8I8057317@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 48e6b7ad3557 - stable/13 - ktls: Write-lock the INP when changing a transmit TLS session. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 48e6b7ad3557d0c5b8f23db2b3d1a8f1d00d32a3 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652229008; 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=gunbfRZzRaqC3pjcRhSOAHrvh+8UHxPqDviD9fiDnC4=; b=X2E2eGGdAjmE9h1E+ToE17TNcs0ygaYKIYEbsEN/kCUGCPS+7RCco6ogFQlBV0EzYLp0E/ 30FDg2CE8Xc1fV3eNYbGItSXGsyQM5yCLqUxuMcR+bJbjvdU51hoQKeutpnqLrJTPODwH1 9RYnsTfYkHK+YIPqm5h8dTWMBUqP8IIGIA3zBQjd3aC0qnAuxd5zJJcInhp0U1tTcesvCm xYiIK1TCnhiAYw7708hUPhhhngxUJmhttKm117g6nCJyry3adk+ljJodq5HJGI6BwWdr0f 8KZ13wwJ/+pYBgdxqM0RWu6/RJHfaji5HkyNsjTyLIqmTPfSIiLtsbkGMq7P3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1652229008; a=rsa-sha256; cv=none; b=eYB0u93ZlJmpVTC7BjCvtB4unMDWvl1yRcZm3O8XpItKb1qdxmv98e9CJkeVQl0fzNX7xf q6kPbDz/C5YbDZyD3SqGglCR/5CuzBm1ANPRBRHuY5pveSO5YsMrNDWL+xUKzOlLA8p9bM TkcCZWBhK3lM24guo+XQ01hOwthOGdny/GbD2SbKy3/B5B7Uep0lpXfiD/WWTZo17DswgP MznEW4J9mqPTGLayjWBwq8F0ocCEJtzuK5GpcssJC83RyWCTKmdPzZz2PZVnt2t0rPwE7N qxdB7zNA/9mN7ZjmIN73DlhfWUY+CicrqjPhH+qeRpzsQaLpKGA2V97S8ssxTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=48e6b7ad3557d0c5b8f23db2b3d1a8f1d00d32a3 commit 48e6b7ad3557d0c5b8f23db2b3d1a8f1d00d32a3 Author: John Baldwin AuthorDate: 2022-02-11 23:16:25 +0000 Commit: John Baldwin CommitDate: 2022-05-11 00:10:56 +0000 ktls: Write-lock the INP when changing a transmit TLS session. The TCP rate pacing code relies on being able to read this pointer safely while holding an INP lock. The initial TLS session pointer is set while holding the write lock already. Reviewed by: gallatin, hselasky Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D34086 (cherry picked from commit cd0525f615fe8fea750d2078b61026aabe0d0471) --- sys/kern/uipc_ktls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 6d436c72de2f..fa01113c7c8e 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1317,6 +1317,7 @@ ktls_set_tx_mode(struct socket *so, int mode) return (EBUSY); } + INP_WLOCK(inp); SOCKBUF_LOCK(&so->so_snd); so->so_snd.sb_tls_info = tls_new; if (tls_new->mode != TCP_TLS_MODE_SW) @@ -1338,7 +1339,6 @@ ktls_set_tx_mode(struct socket *so, int mode) else counter_u64_add(ktls_switch_to_sw, 1); - INP_WLOCK(inp); return (0); }