diff --git a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c index 8c2ff37b2d3af1cf2b39f417b473352f22b07069..238387d6221beaafd9e94d4429f5d712bc4a281d 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt_tkip.c +++ b/drivers/staging/rtl8192e/rtllib_crypt_tkip.c @@ -100,7 +100,7 @@ static void rtllib_tkip_deinit(void *priv) crypto_free_shash(_priv->tx_tfm_michael); crypto_free_shash(_priv->rx_tfm_michael); } - kzfree(priv); + kfree_sensitive(priv); } diff --git a/drivers/staging/rtl8192e/rtllib_crypt_wep.c b/drivers/staging/rtl8192e/rtllib_crypt_wep.c index 7cdd17f907fa765615e645816f63447956acdba2..7790271a6a40debada6abeb5a464609ee4889848 100644 --- a/drivers/staging/rtl8192e/rtllib_crypt_wep.c +++ b/drivers/staging/rtl8192e/rtllib_crypt_wep.c @@ -49,7 +49,7 @@ static void *prism2_wep_init(int keyidx) static void prism2_wep_deinit(void *priv) { - kzfree(priv); + kfree_sensitive(priv); } /* Perform WEP encryption on given skb that has at least 4 bytes of headroom diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c index 4b415cc76715b7589f58e531aa03a2e8b12dcd7a..e8fa1d385f24e81e5a0d45743a9a5eab8d391729 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c @@ -107,7 +107,7 @@ static void ieee80211_tkip_deinit(void *priv) crypto_free_shash(_priv->tx_tfm_michael); crypto_free_shash(_priv->rx_tfm_michael); } - kzfree(priv); + kfree_sensitive(priv); } diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c index 1c56e2d03aaeb441c61e931bfebfa9f2736586d7..a41b6510481bc2c8238a93e316f7baef9be3e157 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c @@ -54,7 +54,7 @@ static void *prism2_wep_init(int keyidx) static void prism2_wep_deinit(void *priv) { - kzfree(priv); + kfree_sensitive(priv); } /* Perform WEP encryption on given skb that has at least 4 bytes of headroom diff --git a/include/linux/slab.h b/include/linux/slab.h index 9e155cc83b8afc75b7bf4f34668bd7f58672ee8a..dd6897f6201077e942b15804245bdd86122b9194 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -187,8 +187,6 @@ void kfree_sensitive(const void *); size_t __ksize(const void *); size_t ksize(const void *); -#define kzfree(x) kfree_sensitive(x) /* For backward compatibility */ - #ifdef CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR void __check_heap_object(const void *ptr, unsigned long n, struct page *page, bool to_user); diff --git a/net/tipc/crypto.c b/net/tipc/crypto.c index 40c44101fe8e70de41fd419fbd13c015c388259f..740ab9ae41a6670d95be42591fd8567c4cb4658c 100644 --- a/net/tipc/crypto.c +++ b/net/tipc/crypto.c @@ -418,7 +418,7 @@ static void tipc_aead_free(struct rcu_head *rp) kfree(head); } free_percpu(aead->tfm_entry); - kzfree(aead->key); + kfree_sensitive(aead->key); kfree(aead); } @@ -2452,7 +2452,7 @@ static void tipc_crypto_work_tx(struct work_struct *work) tipc_crypto_key_init(tx, skey, PER_NODE_KEY, false); if (likely(rc > 0)) rc = tipc_crypto_key_distr(tx, rc, NULL); - kzfree(skey); + kfree_sensitive(skey); } if (unlikely(rc))