From eeb65d9cb5159752e672b5164110838bb5936a4a Mon Sep 17 00:00:00 2001 From: Alexandru Gheorghiu Date: Sat, 9 Mar 2013 13:57:28 +0200 Subject: fs: pstore: Replaced calls to kmalloc and memcpy with kmemdup Replaced calls to kmalloc and memcpy with a single call to kmemdup. This patch was found using coccicheck. Signed-off-by: Alexandru Gheorghiu Acked-by: Kees Cook Signed-off-by: Tony Luck --- fs/pstore/ram.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'fs/pstore') diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c index 288f068740f6..38babb3a9384 100644 --- a/fs/pstore/ram.c +++ b/fs/pstore/ram.c @@ -156,10 +156,9 @@ static ssize_t ramoops_pstore_read(u64 *id, enum pstore_type_id *type, time->tv_nsec = 0; size = persistent_ram_old_size(prz); - *buf = kmalloc(size, GFP_KERNEL); + *buf = kmemdup(persistent_ram_old(prz), size, GFP_KERNEL); if (*buf == NULL) return -ENOMEM; - memcpy(*buf, persistent_ram_old(prz), size); return size; } -- cgit v1.2.3 From 47110b88912a997f25d42373e339804d51da98de Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Tue, 7 May 2013 19:39:20 +0800 Subject: pstore/ram: fix error return code in ramoops_probe() Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun Acked-by: Kees Cook Signed-off-by: Tony Luck --- fs/pstore/ram.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'fs/pstore') diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c index 38babb3a9384..82e74dd50b6c 100644 --- a/fs/pstore/ram.c +++ b/fs/pstore/ram.c @@ -429,6 +429,7 @@ static int ramoops_probe(struct platform_device *pdev) pr_err("memory size too small, minimum is %zu\n", cxt->console_size + cxt->record_size + cxt->ftrace_size); + err = -EINVAL; goto fail_cnt; } @@ -446,6 +447,7 @@ static int ramoops_probe(struct platform_device *pdev) spin_lock_init(&cxt->pstore.buf_lock); if (!cxt->pstore.buf) { pr_err("cannot allocate pstore buffer\n"); + err = -ENOMEM; goto fail_clear; } -- cgit v1.2.3