aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Dengler <[email protected]>2024-05-07 17:03:18 +0200
committerAlexander Gordeev <[email protected]>2024-05-14 20:16:33 +0200
commit1d8c270de5eb74245d72325d285894a577a945d9 (patch)
treed84c99b82c883cbd5be1d316d275244352349b3d
parent22e6824622e8a8889df0f8fc4ed5aea0e702a694 (diff)
s390/pkey: Wipe sensitive data on failure
Wipe sensitive data from stack also if the copy_to_user() fails. Suggested-by: Heiko Carstens <[email protected]> Reviewed-by: Harald Freudenberger <[email protected]> Reviewed-by: Ingo Franzki <[email protected]> Acked-by: Heiko Carstens <[email protected]> Signed-off-by: Holger Dengler <[email protected]> Signed-off-by: Alexander Gordeev <[email protected]>
-rw-r--r--drivers/s390/crypto/pkey_api.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/crypto/pkey_api.c b/drivers/s390/crypto/pkey_api.c
index 933894065623..179287157c2f 100644
--- a/drivers/s390/crypto/pkey_api.c
+++ b/drivers/s390/crypto/pkey_api.c
@@ -1377,7 +1377,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,
if (rc)
break;
if (copy_to_user(ucs, &kcs, sizeof(kcs)))
- return -EFAULT;
+ rc = -EFAULT;
memzero_explicit(&kcs, sizeof(kcs));
break;
}
@@ -1412,7 +1412,7 @@ static long pkey_unlocked_ioctl(struct file *filp, unsigned int cmd,
if (rc)
break;
if (copy_to_user(ucp, &kcp, sizeof(kcp)))
- return -EFAULT;
+ rc = -EFAULT;
memzero_explicit(&kcp, sizeof(kcp));
break;
}