s390/pkey: Use kfree_sensitive() to fix Coccinelle warnings
authorJules Irenge <jbi.octave@gmail.com>
Tue, 7 May 2024 21:13:52 +0000 (22:13 +0100)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Tue, 14 May 2024 11:46:18 +0000 (13:46 +0200)
Replace memzero_explicit() and kfree() with kfree_sensitive() to fix
warnings reported by Coccinelle:

WARNING opportunity for kfree_sensitive/kvfree_sensitive (line 1506)
WARNING opportunity for kfree_sensitive/kvfree_sensitive (line 1643)
WARNING opportunity for kfree_sensitive/kvfree_sensitive (line 1770)

Signed-off-by: Jules Irenge <jbi.octave@gmail.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Link: https://lore.kernel.org/r/ZjqZkNi_JUJu73Rg@octinomon.home
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
drivers/s390/crypto/pkey_api.c

index dccf664a3d957366b99ee08d1ec613b6dec3a246..933894065623ed45736b2a1d94d9f43754ff762b 100644 (file)
@@ -1503,8 +1503,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,
                rc = pkey_keyblob2pkey(kkey, ktp.keylen, ktp.protkey.protkey,
                                       &ktp.protkey.len, &ktp.protkey.type);
                pr_debug("%s pkey_keyblob2pkey()=%d\n", __func__, rc);
-               memzero_explicit(kkey, ktp.keylen);
-               kfree(kkey);
+               kfree_sensitive(kkey);
                if (rc)
                        break;
                if (copy_to_user(utp, &ktp, sizeof(ktp)))
@@ -1640,8 +1639,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,
                                        &ktp.protkey.type);
                pr_debug("%s pkey_keyblob2pkey2()=%d\n", __func__, rc);
                kfree(apqns);
-               memzero_explicit(kkey, ktp.keylen);
-               kfree(kkey);
+               kfree_sensitive(kkey);
                if (rc)
                        break;
                if (copy_to_user(utp, &ktp, sizeof(ktp)))
@@ -1767,8 +1765,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,
                                        protkey, &protkeylen, &ktp.pkeytype);
                pr_debug("%s pkey_keyblob2pkey3()=%d\n", __func__, rc);
                kfree(apqns);
-               memzero_explicit(kkey, ktp.keylen);
-               kfree(kkey);
+               kfree_sensitive(kkey);
                if (rc) {
                        kfree(protkey);
                        break;