summaryrefslogtreecommitdiffstats
path: root/security/keys
diff options
context:
space:
mode:
authorEric Sesterhenn <snakebyte@gmx.de>2006-12-07 05:33:47 +0100
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 17:39:25 +0100
commit48ad504ee7d598431cb2d0b2f01c6d1aff1d2a07 (patch)
tree52862e12cdca605b04959fc0fa28164dc015013b /security/keys
parent[PATCH] radix-tree: RCU lockless readside (diff)
downloadlinux-48ad504ee7d598431cb2d0b2f01c6d1aff1d2a07.tar.xz
linux-48ad504ee7d598431cb2d0b2f01c6d1aff1d2a07.zip
[PATCH] security/keys/*: user kmemdup()
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-By: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'security/keys')
-rw-r--r--security/keys/key.c4
-rw-r--r--security/keys/keyring.c4
2 files changed, 2 insertions, 6 deletions
diff --git a/security/keys/key.c b/security/keys/key.c
index 0db816f10f85..ac9326c5f1da 100644
--- a/security/keys/key.c
+++ b/security/keys/key.c
@@ -290,11 +290,9 @@ struct key *key_alloc(struct key_type *type, const char *desc,
goto no_memory_2;
if (desc) {
- key->description = kmalloc(desclen, GFP_KERNEL);
+ key->description = kmemdup(desc, desclen, GFP_KERNEL);
if (!key->description)
goto no_memory_3;
-
- memcpy(key->description, desc, desclen);
}
atomic_set(&key->usage, 1);
diff --git a/security/keys/keyring.c b/security/keys/keyring.c
index e8d02acc51e7..ad45ce73964b 100644
--- a/security/keys/keyring.c
+++ b/security/keys/keyring.c
@@ -706,12 +706,10 @@ int __key_link(struct key *keyring, struct key *key)
BUG_ON(size > PAGE_SIZE);
ret = -ENOMEM;
- nklist = kmalloc(size, GFP_KERNEL);
+ nklist = kmemdup(klist, size, GFP_KERNEL);
if (!nklist)
goto error2;
- memcpy(nklist, klist, size);
-
/* replace matched key */
atomic_inc(&key->usage);
nklist->keys[loop] = key;