tipc: use kfree_sensitive() for aead cleanup

[ 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>
This commit is contained in:
Zilin Guan
2025-05-23 11:47:17 +00:00
committed by Greg Kroah-Hartman
parent 088279ff18
commit 92dbc2a2e2

View File

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