]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Jul 2024 10:51:05 +0000 (12:51 +0200)
[ Upstream commit 22e6824622e8a8889df0f8fc4ed5aea0e702a694 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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;