From nobody Tue Feb 10 06:58:51 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F3802D47E6 for ; Fri, 14 Nov 2025 04:59:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763096363; cv=none; b=d225wB0lLB872yTtdQEv3VRyzzR4GD0PFinFGvwHWFrRLEszfGj6YVnVK24dFqhR7Lq3r7wqqiDqxLSkBurdeauI1KVzzfz98UH+m/u+6+X8VBxeGx4B0zudaH4GJG7zpbBw1gzr47BPHHiQGXrnNScVwqbQTHjrey2LNZ9xDQA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763096363; c=relaxed/simple; bh=vznJtz7RjeKKwdXPoN9JwSziSxzGxNA7uKrDSoia22E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WeYEIIhMau0u6JkGKCkK/1BOape1p8sC1yvcLuHLiogKpdRKegYgLLMxbzFrLDLMcRxlYu7Mg29kdd6flKVskfS1lG2mw3GKFKorNzJ7S8WjDBN7s8eHMFyM7xzWnsBUGkP9SL5lGWZWQer857TBTAeltcm1mJ6u9iXwxIErwfA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OqJFUJVX; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OqJFUJVX" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-340bb1cb9ddso1369489a91.2 for ; Thu, 13 Nov 2025 20:59:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763096362; x=1763701162; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IPi3F894ayLOXIZaJVbMAjWwHmlVBJZBqgf+lTbKGUE=; b=OqJFUJVX4TNZuGjNtU/Nq37U9RZas6XURhnFmbEhPrNqyrFlRo6hw40mSgkKO7+ERx 8And98/CuBGi1yABhp7Xu9J8X4+QxmshLblCZwFJ+W9gHY8mwbMoS06ryxW3baOco4in sJVgvG728iVOB23+eURBMrzDfMJxTrwL+D6olxmTJ43JI8mkjrIvOx4BHvO6sq4nG+eH QEYynPO0LK7BB126tFFz9OJg7QO8ZHeqfhAJHsZKQNIVBAZlJk4bF05JVHoXN+Wm27gy 5nMdeJAeAChM+CiVvO3cVisglZuJXAsa+yvO/V37o2AW7rlgIl8U5im1Ql3KlDyE1hXA dewA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763096362; x=1763701162; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=IPi3F894ayLOXIZaJVbMAjWwHmlVBJZBqgf+lTbKGUE=; b=T1Ib1lMNYSPXpa4eGNfi2NkC3JwPAoo7K2JRL9msUJx9rOoieekemyLOOX15WfQGU9 uJgnR/AF2rfx5srMn4qhveKfoAA3+tmB+CO8ufWp/ePyxditOVZGQSyIfgapntaGeKym PMQhx/+VHwFAUxSK0gC+kD3zZuop+97XbfBjZv7dUihIxjVwvOLrbsj4kYY7lgvLJDvC nCEEilu5QKo7fEOKRyWpdjw2xTy453pC8LKmnpuPPkH5Wb+SeoaJLUqf5bAiEb6AvQBw o2kjqb31lnR39RxRm8KP0K7h+4tKsmpREb7yksMoWYvQx3xQ0W6NMNkhlNunpBX8br3x 5E4Q== X-Gm-Message-State: AOJu0Yw73L6w5G1QUV7WIY6kWbXLUlRV5DslMJak5kxj292EPwnikzZH 6FQyMW6sme7uXyK5WVtwfKl3vYccZa+RgJIRf0Hg/N3fysL5OMyW3KfH/mbLYA== X-Gm-Gg: ASbGnctouqiQR7x0/nrgyRWV45ZA/uhuAc395cfTFanWgzQdtLr7ZOYC5HUolgMIpCR dP3hO4UEI32At0daQAXGkoYLd1q6bWwN57D1zyulKTqxmGq/4zIgLvt7uMMTejsWcLjGpSMYa5G yLQ8Er357H14S5FGXizJh0g+cU4yVERvvUxSJxhcNFbPJzRDWmroHNw3BSMWymGyHfsTlDnjixh SMBnzuJf7I9DoWFLQqhyvS3rka+xKFlynzr+QqmgenlNuEdPw0NlzFRdvHk6gMc43QujZQidFwL IgwjnXr9N/5+l1kXrpQdT3LhVpQji1U12l5sFf6/aGcVrsta7j3EcAk68Ee17OkJ3AVHAsz2/Ul auigy9Vpk+GgTfI+3midBp8RTI7oXUA4cgZYjgVUDL5KpsUZ3yK3wMGxzuKEYypvI2rFlDzO0z0 NzXS4mZbrx/YOrM5Ffwh0ECJvmTLfoSfvXO2UUlAHHqUzOoaiUYxHd+P9nzntDdZztO757TLfgK uq0DxkM36HDhIzFnCg= X-Google-Smtp-Source: AGHT+IG/CUbYBy7X/vSgOAn0DUmr39OaqXkpQeM8jQZ3Ml0Ear6KLmAFRVmA1pO8xdVrK+XORTR7qA== X-Received: by 2002:a17:90b:3b45:b0:33e:1acc:1799 with SMTP id 98e67ed59e1d1-343f9edf47dmr2009966a91.14.1763096361610; Thu, 13 Nov 2025 20:59:21 -0800 (PST) Received: from toolbx.alistair23.me (2403-580b-97e8-0-82ce-f179-8a79-69f4.ip6.aussiebb.net. [2403:580b:97e8:0:82ce:f179:8a79:69f4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7ba438bed8csm1061189b3a.53.2025.11.13.20.59.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 20:59:21 -0800 (PST) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: kbusch@kernel.org, axboe@kernel.dk, hch@lst.de, sagi@grimberg.me, hare@suse.de, kch@nvidia.com, linux-nvme@lists.infradead.org Cc: linux-kernel@vger.kernel.org, alistair23@gmail.com, Alistair Francis Subject: [PATCH v3 2/4] nvmet-tcp: Don't free SQ on authentication success Date: Fri, 14 Nov 2025 14:58:48 +1000 Message-ID: <20251114045850.1898865-3-alistair.francis@wdc.com> X-Mailer: git-send-email 2.51.1 In-Reply-To: <20251114045850.1898865-1-alistair.francis@wdc.com> References: <20251114045850.1898865-1-alistair.francis@wdc.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alistair Francis Curently after the host sends a REPLACETLSPSK we free the TLS keys as part of calling nvmet_auth_sq_free() on success. This means when the host sends a follow up REPLACETLSPSK we return CONCAT_MISMATCH as the check for !nvmet_queue_tls_keyid(req->sq) fails. This patch ensures we don't free the TLS key on success as we might need it again in the future. Signed-off-by: Alistair Francis Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Reviewed-by: Wilfred Mallawa --- v3: - No change v2: - Don't call nvmet_auth_sq_free() in nvmet_execute_auth_send() either drivers/nvme/target/fabrics-cmd-auth.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/nvme/target/fabrics-cmd-auth.c b/drivers/nvme/target/f= abrics-cmd-auth.c index 2e828f7717ad..0cd722ebfa75 100644 --- a/drivers/nvme/target/fabrics-cmd-auth.c +++ b/drivers/nvme/target/fabrics-cmd-auth.c @@ -397,9 +397,10 @@ void nvmet_execute_auth_send(struct nvmet_req *req) goto complete; } /* Final states, clear up variables */ - nvmet_auth_sq_free(req->sq); - if (req->sq->dhchap_step =3D=3D NVME_AUTH_DHCHAP_MESSAGE_FAILURE2) + if (req->sq->dhchap_step =3D=3D NVME_AUTH_DHCHAP_MESSAGE_FAILURE2) { + nvmet_auth_sq_free(req->sq); nvmet_ctrl_fatal_error(ctrl); + } =20 complete: nvmet_req_complete(req, status); @@ -575,9 +576,7 @@ void nvmet_execute_auth_receive(struct nvmet_req *req) status =3D nvmet_copy_to_sgl(req, 0, d, al); kfree(d); done: - if (req->sq->dhchap_step =3D=3D NVME_AUTH_DHCHAP_MESSAGE_SUCCESS2) - nvmet_auth_sq_free(req->sq); - else if (req->sq->dhchap_step =3D=3D NVME_AUTH_DHCHAP_MESSAGE_FAILURE1) { + if (req->sq->dhchap_step =3D=3D NVME_AUTH_DHCHAP_MESSAGE_FAILURE1) { nvmet_auth_sq_free(req->sq); nvmet_ctrl_fatal_error(ctrl); } --=20 2.51.1