]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
tipc: use kfree_sensitive() for aead cleanup
authorZilin Guan <zilin@seu.edu.cn>
Fri, 23 May 2025 11:47:17 +0000 (11:47 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:07:32 +0000 (11:07 +0100)
[ Upstream commit c8ef20fe7274c5766a317f9193b70bed717b6b3d ]

The tipc_aead_free() function currently uses kfree() to release the aead
structure. However, this structure contains sensitive information, such
as key's SALT value, which should be securely erased from memory to
prevent potential leakage.

To enhance security, replace kfree() with kfree_sensitive() when freeing
the aead structure. This change ensures that sensitive data is explicitly
cleared before memory deallocation, aligning with the approach used in
tipc_aead_init() and adhering to best practices for handling confidential
information.

Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Reviewed-by: Tung Nguyen <tung.quang.nguyen@est.tech>
Link: https://patch.msgid.link/20250523114717.4021518-1-zilin@seu.edu.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/tipc/crypto.c

index 17e2b090028531ba7ffc5c208f62cd1ed9c5fbbb..d52829c6aa472d85be8484ca37c2e1f85881ac8e 100644 (file)
@@ -425,7 +425,7 @@ static void tipc_aead_free(struct rcu_head *rp)
        }
        free_percpu(aead->tfm_entry);
        kfree_sensitive(aead->key);
-       kfree(aead);
+       kfree_sensitive(aead);
 }
 
 static int tipc_aead_users(struct tipc_aead __rcu *aead)