diff options
author | Alex Elder <elder@dreamhost.com> | 2012-11-01 08:39:27 -0500 |
---|---|---|
committer | Alex Elder <elder@inktank.com> | 2013-01-17 14:09:00 -0600 |
commit | 4caf35f9ecdca1feef1d2e5e223b78e52ffbea87 (patch) | |
tree | ae709588c296a65d394489d14fb3635ce2fceea0 /drivers/block/rbd.c | |
parent | 979ed480a2722ad8d9f87054635158f652a1241e (diff) | |
download | lwn-4caf35f9ecdca1feef1d2e5e223b78e52ffbea87.tar.gz lwn-4caf35f9ecdca1feef1d2e5e223b78e52ffbea87.zip |
rbd: use kmemdup()
This replaces two kmalloc()/memcpy() combinations with a single
call to kmemdup().
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'drivers/block/rbd.c')
-rw-r--r-- | drivers/block/rbd.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index e01dbb12ad03..d97611e2b4ee 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -3151,11 +3151,9 @@ static inline char *dup_token(const char **buf, size_t *lenp) size_t len; len = next_token(buf); - dup = kmalloc(len + 1, GFP_KERNEL); + dup = kmemdup(*buf, len + 1, GFP_KERNEL); if (!dup) return NULL; - - memcpy(dup, *buf, len); *(dup + len) = '\0'; *buf += len; @@ -3264,10 +3262,9 @@ static int rbd_add_parse_args(const char *buf, ret = -ENAMETOOLONG; goto out_err; } - spec->snap_name = kmalloc(len + 1, GFP_KERNEL); + spec->snap_name = kmemdup(buf, len + 1, GFP_KERNEL); if (!spec->snap_name) goto out_mem; - memcpy(spec->snap_name, buf, len); *(spec->snap_name + len) = '\0'; /* Initialize all rbd options to the defaults */ |