aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/crash_dump_64.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/crash_dump_64.c b/arch/x86/kernel/crash_dump_64.c
index 15e6c6bc4a46..280d6ef3af02 100644
--- a/arch/x86/kernel/crash_dump_64.c
+++ b/arch/x86/kernel/crash_dump_64.c
@@ -33,14 +33,16 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
33 return 0; 33 return 0;
34 34
35 vaddr = ioremap(pfn << PAGE_SHIFT, PAGE_SIZE); 35 vaddr = ioremap(pfn << PAGE_SHIFT, PAGE_SIZE);
36 if (!vaddr)
37 return -ENOMEM;
36 38
37 if (userbuf) { 39 if (userbuf) {
38 if (copy_to_user(buf, (vaddr + offset), csize)) { 40 if (copy_to_user(buf, vaddr + offset, csize)) {
39 iounmap(vaddr); 41 iounmap(vaddr);
40 return -EFAULT; 42 return -EFAULT;
41 } 43 }
42 } else 44 } else
43 memcpy(buf, (vaddr + offset), csize); 45 memcpy(buf, vaddr + offset, csize);
44 46
45 iounmap(vaddr); 47 iounmap(vaddr);
46 return csize; 48 return csize;