diff options
Diffstat (limited to 'drivers/s390/crypto/pkey_api.c')
| -rw-r--r-- | drivers/s390/crypto/pkey_api.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/s390/crypto/pkey_api.c b/drivers/s390/crypto/pkey_api.c index 5a05d1cdfec2..a8def50c149b 100644 --- a/drivers/s390/crypto/pkey_api.c +++ b/drivers/s390/crypto/pkey_api.c @@ -1293,6 +1293,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,  			return PTR_ERR(kkey);  		rc = pkey_keyblob2pkey(kkey, ktp.keylen, &ktp.protkey);  		DEBUG_DBG("%s pkey_keyblob2pkey()=%d\n", __func__, rc); +		memzero_explicit(kkey, ktp.keylen);  		kfree(kkey);  		if (rc)  			break; @@ -1426,6 +1427,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,  					kkey, ktp.keylen, &ktp.protkey);  		DEBUG_DBG("%s pkey_keyblob2pkey2()=%d\n", __func__, rc);  		kfree(apqns); +		memzero_explicit(kkey, ktp.keylen);  		kfree(kkey);  		if (rc)  			break; @@ -1552,6 +1554,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,  					protkey, &protkeylen);  		DEBUG_DBG("%s pkey_keyblob2pkey3()=%d\n", __func__, rc);  		kfree(apqns); +		memzero_explicit(kkey, ktp.keylen);  		kfree(kkey);  		if (rc) {  			kfree(protkey);  | 
