Merge tag 'notifications-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-rpi.git] / security / keys / keyctl.c
index 6763ee4..9febd37 100644 (file)
@@ -144,10 +144,7 @@ SYSCALL_DEFINE5(add_key, const char __user *, _type,
 
        key_ref_put(keyring_ref);
  error3:
-       if (payload) {
-               memzero_explicit(payload, plen);
-               kvfree(payload);
-       }
+       kvfree_sensitive(payload, plen);
  error2:
        kfree(description);
  error:
@@ -362,7 +359,7 @@ long keyctl_update_key(key_serial_t id,
 
        key_ref_put(key_ref);
 error2:
-       __kvzfree(payload, plen);
+       kvfree_sensitive(payload, plen);
 error:
        return ret;
 }
@@ -881,7 +878,7 @@ can_read_key:
         *
         * Allocating a temporary buffer to hold the keys before
         * transferring them to user buffer to avoid potential
-        * deadlock involving page fault and mmap_sem.
+        * deadlock involving page fault and mmap_lock.
         *
         * key_data_len = (buflen <= PAGE_SIZE)
         *              ? buflen : actual length of key data
@@ -917,7 +914,7 @@ can_read_key:
                 */
                if (ret > key_data_len) {
                        if (unlikely(key_data))
-                               __kvzfree(key_data, key_data_len);
+                               kvfree_sensitive(key_data, key_data_len);
                        key_data_len = ret;
                        continue;       /* Allocate buffer */
                }
@@ -926,7 +923,7 @@ can_read_key:
                        ret = -EFAULT;
                break;
        }
-       __kvzfree(key_data, key_data_len);
+       kvfree_sensitive(key_data, key_data_len);
 
 key_put_out:
        key_put(key);
@@ -1230,10 +1227,7 @@ long keyctl_instantiate_key_common(key_serial_t id,
                keyctl_change_reqkey_auth(NULL);
 
 error2:
-       if (payload) {
-               memzero_explicit(payload, plen);
-               kvfree(payload);
-       }
+       kvfree_sensitive(payload, plen);
 error:
        return ret;
 }