[PATCH v4 3/7] net/handshake: Ensure the request is destructed on completion
alistair23 at gmail.com
alistair23 at gmail.com
Thu Oct 16 21:23:08 PDT 2025
From: Alistair Francis <alistair.francis at wdc.com>
To avoid future handshake_req_hash_add() calls failing with EEXIST when
performing a KeyUpdate let's make sure the old request is destructed
as part of the completion.
Until now a handshake would only be destroyed on a failure or when a
sock is freed (via the sk_destruct function pointer).
handshake_complete() is only called on errors, not a successful
handshake so it doesn't remove the request.
Signed-off-by: Alistair Francis <alistair.francis at wdc.com>
Reviewed-by: Hannes Reinecke <hare at suse.de>
---
v4:
- Improve description in commit message
v3:
- New patch
net/handshake/request.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/handshake/request.c b/net/handshake/request.c
index 0d1c91c80478..194725a8aaca 100644
--- a/net/handshake/request.c
+++ b/net/handshake/request.c
@@ -311,6 +311,8 @@ void handshake_complete(struct handshake_req *req, unsigned int status,
/* Handshake request is no longer pending */
sock_put(sk);
}
+
+ handshake_sk_destruct_req(sk);
}
EXPORT_SYMBOL_IF_KUNIT(handshake_complete);
--
2.51.0
More information about the Linux-nvme
mailing list