diff options
author | Geliang Tang <geliangtang@163.com> | 2015-10-21 09:04:46 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2015-10-21 10:18:35 -0400 |
commit | d0e0eba043c78b1d6ce3d29367abb41446d83747 (patch) | |
tree | 1c86a75564f33450917f0ea9468bc1dd47ef994f | |
parent | 09302fd19efbff9569eaad3f78ead8f411defd87 (diff) |
KEYS: use kvfree() in add_key
There is no need to make a flag to tell that this memory is allocated by
kmalloc or vmalloc. Just use kvfree to free the memory.
Signed-off-by: Geliang Tang <geliangtang@163.com>
Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r-- | security/keys/keyctl.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c index 0b9ec78a7a7a..6110fa498494 100644 --- a/security/keys/keyctl.c +++ b/security/keys/keyctl.c | |||
@@ -67,7 +67,6 @@ SYSCALL_DEFINE5(add_key, const char __user *, _type, | |||
67 | char type[32], *description; | 67 | char type[32], *description; |
68 | void *payload; | 68 | void *payload; |
69 | long ret; | 69 | long ret; |
70 | bool vm; | ||
71 | 70 | ||
72 | ret = -EINVAL; | 71 | ret = -EINVAL; |
73 | if (plen > 1024 * 1024 - 1) | 72 | if (plen > 1024 * 1024 - 1) |
@@ -98,14 +97,12 @@ SYSCALL_DEFINE5(add_key, const char __user *, _type, | |||
98 | /* pull the payload in if one was supplied */ | 97 | /* pull the payload in if one was supplied */ |
99 | payload = NULL; | 98 | payload = NULL; |
100 | 99 | ||
101 | vm = false; | ||
102 | if (_payload) { | 100 | if (_payload) { |
103 | ret = -ENOMEM; | 101 | ret = -ENOMEM; |
104 | payload = kmalloc(plen, GFP_KERNEL | __GFP_NOWARN); | 102 | payload = kmalloc(plen, GFP_KERNEL | __GFP_NOWARN); |
105 | if (!payload) { | 103 | if (!payload) { |
106 | if (plen <= PAGE_SIZE) | 104 | if (plen <= PAGE_SIZE) |
107 | goto error2; | 105 | goto error2; |
108 | vm = true; | ||
109 | payload = vmalloc(plen); | 106 | payload = vmalloc(plen); |
110 | if (!payload) | 107 | if (!payload) |
111 | goto error2; | 108 | goto error2; |
@@ -138,10 +135,7 @@ SYSCALL_DEFINE5(add_key, const char __user *, _type, | |||
138 | 135 | ||
139 | key_ref_put(keyring_ref); | 136 | key_ref_put(keyring_ref); |
140 | error3: | 137 | error3: |
141 | if (!vm) | 138 | kvfree(payload); |
142 | kfree(payload); | ||
143 | else | ||
144 | vfree(payload); | ||
145 | error2: | 139 | error2: |
146 | kfree(description); | 140 | kfree(description); |
147 | error: | 141 | error: |