[PATCH v2 5/5] smb: server: Clear Preauth_HashValue in smb2pdu.c with kfree_sensitive()

From: Thomas Huth

Date: Tue Aug 11 2026 - 11:57:32 EST


From: Thomas Huth <thuth@xxxxxxxxxx>

struct preauth_session contains the Preauth_HashValue[] array that
might contain sensitive data. Use kfree_sensitive() to clear it
before returning the memory to the heap.

Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx>
---
fs/smb/server/smb2pdu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index 184501e08b29a..fc44ac6b56427 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -2136,7 +2136,7 @@ int smb2_sess_setup(struct ksmbd_work *work)
ksmbd_preauth_session_lookup(conn, sess->id);
if (preauth_sess) {
list_del(&preauth_sess->preauth_entry);
- kfree(preauth_sess);
+ kfree_sensitive(preauth_sess);
}
}
} else {
@@ -2190,7 +2190,7 @@ int smb2_sess_setup(struct ksmbd_work *work)
preauth_sess = ksmbd_preauth_session_lookup(conn, sess->id);
if (preauth_sess) {
list_del(&preauth_sess->preauth_entry);
- kfree(preauth_sess);
+ kfree_sensitive(preauth_sess);
}
}

--
2.55.0