Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mac802154: llsec: use kzfree

This patch will use kzfree instead kfree for security related
information which can be offered by acccident.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

authored by

Alexander Aring and committed by
Marcel Holtmann
71cd2aa5 a6ad2a6b

+10 -10
+10 -10
net/mac802154/llsec.c
··· 55 55 56 56 msl = container_of(sl, struct mac802154_llsec_seclevel, level); 57 57 list_del(&sl->list); 58 - kfree(msl); 58 + kzfree(msl); 59 59 } 60 60 61 61 list_for_each_entry_safe(dev, dn, &sec->table.devices, list) { ··· 72 72 mkey = container_of(key->key, struct mac802154_llsec_key, key); 73 73 list_del(&key->list); 74 74 llsec_key_put(mkey); 75 - kfree(key); 75 + kzfree(key); 76 76 } 77 77 } 78 78 ··· 161 161 if (key->tfm[i]) 162 162 crypto_free_aead(key->tfm[i]); 163 163 164 - kfree(key); 164 + kzfree(key); 165 165 return NULL; 166 166 } 167 167 ··· 176 176 crypto_free_aead(key->tfm[i]); 177 177 178 178 crypto_free_blkcipher(key->tfm0); 179 - kfree(key); 179 + kzfree(key); 180 180 } 181 181 182 182 static struct mac802154_llsec_key* ··· 267 267 return 0; 268 268 269 269 fail: 270 - kfree(new); 270 + kzfree(new); 271 271 return -ENOMEM; 272 272 } 273 273 ··· 347 347 devkey); 348 348 349 349 list_del(&pos->list); 350 - kfree(devkey); 350 + kzfree(devkey); 351 351 } 352 352 353 - kfree(dev); 353 + kzfree(dev); 354 354 } 355 355 356 356 int mac802154_llsec_dev_add(struct mac802154_llsec *sec, ··· 681 681 682 682 rc = crypto_aead_encrypt(req); 683 683 684 - kfree(req); 684 + kzfree(req); 685 685 686 686 return rc; 687 687 } ··· 881 881 882 882 rc = crypto_aead_decrypt(req); 883 883 884 - kfree(req); 884 + kzfree(req); 885 885 skb_trim(skb, skb->len - authlen); 886 886 887 887 return rc; ··· 921 921 if (!devkey) 922 922 list_add_rcu(&next->devkey.list, &dev->dev.keys); 923 923 else 924 - kfree(next); 924 + kzfree(next); 925 925 926 926 spin_unlock_bh(&dev->lock); 927 927 }