| From 986eda82d56ff8c5673f1f79b76ba0cebf1a9de1 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 9 Sep 2025 16:05:09 +0530 |
| Subject: nvme-tcp: send only permitted commands for secure concat |
| |
| From: Martin George <martinus.gpy@gmail.com> |
| |
| [ Upstream commit df4666a4908a6d883f628f93a3e6c80981332035 ] |
| |
| In addition to sending permitted commands such as connect/auth |
| over the initial unencrypted admin connection as part of secure |
| channel concatenation, the host also sends commands such as |
| Property Get and Identify on the same. This is a spec violation |
| leading to secure concat failures. Fix this by ensuring these |
| additional commands are avoided on this connection. |
| |
| Fixes: 104d0e2f6222 ("nvme-fabrics: reset admin connection for secure concatenation") |
| Signed-off-by: Martin George <marting@netapp.com> |
| Reviewed-by: Hannes Reinecke <hare@suse.de> |
| Signed-off-by: Keith Busch <kbusch@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/nvme/host/tcp.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c |
| index c0fe8cfb7229e..1413788ca7d52 100644 |
| --- a/drivers/nvme/host/tcp.c |
| +++ b/drivers/nvme/host/tcp.c |
| @@ -2250,6 +2250,9 @@ static int nvme_tcp_configure_admin_queue(struct nvme_ctrl *ctrl, bool new) |
| if (error) |
| goto out_cleanup_tagset; |
| |
| + if (ctrl->opts->concat && !ctrl->tls_pskid) |
| + return 0; |
| + |
| error = nvme_enable_ctrl(ctrl); |
| if (error) |
| goto out_stop_queue; |
| -- |
| 2.51.0 |
| |