|
@@ -132,7 +132,10 @@ SYSCALL_DEFINE5(add_key, const char __user *, _type,
|
|
|
|
|
|
key_ref_put(keyring_ref);
|
|
|
error3:
|
|
|
- kvfree(payload);
|
|
|
+ if (payload) {
|
|
|
+ memzero_explicit(payload, plen);
|
|
|
+ kvfree(payload);
|
|
|
+ }
|
|
|
error2:
|
|
|
kfree(description);
|
|
|
error:
|
|
@@ -347,7 +350,7 @@ long keyctl_update_key(key_serial_t id,
|
|
|
|
|
|
key_ref_put(key_ref);
|
|
|
error2:
|
|
|
- kfree(payload);
|
|
|
+ kzfree(payload);
|
|
|
error:
|
|
|
return ret;
|
|
|
}
|
|
@@ -1093,7 +1096,10 @@ long keyctl_instantiate_key_common(key_serial_t id,
|
|
|
keyctl_change_reqkey_auth(NULL);
|
|
|
|
|
|
error2:
|
|
|
- kvfree(payload);
|
|
|
+ if (payload) {
|
|
|
+ memzero_explicit(payload, plen);
|
|
|
+ kvfree(payload);
|
|
|
+ }
|
|
|
error:
|
|
|
return ret;
|
|
|
}
|