From 07ea815b22b9f70ec8de6ddf8db63a1dd1585caf Mon Sep 17 00:00:00 2001 From: Michael Holzheu Date: Sun, 30 Oct 2011 15:17:21 +0100 Subject: [PATCH] [S390] Remove error checking from copy_oldmem_page() Currently it can happen that the pre-allocated ELF header contains a wrong memory map which would result in errors when copying /proc/vmcore. In order to still get a valid vmcore, we (temporarily) disable the error checking in copy_oldmem_page(). This will then produce zero pages for those memory regions. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky --- arch/s390/kernel/crash_dump.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c index 2a9a3f40557..39f8fd4438f 100644 --- a/arch/s390/kernel/crash_dump.c +++ b/arch/s390/kernel/crash_dump.c @@ -31,7 +31,6 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf, size_t csize, unsigned long offset, int userbuf) { unsigned long src; - int rc; if (!csize) return 0; @@ -43,11 +42,11 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf, src < OLDMEM_BASE + OLDMEM_SIZE) src -= OLDMEM_BASE; if (userbuf) - rc = copy_to_user_real((void __user *) buf, (void *) src, - csize); + copy_to_user_real((void __force __user *) buf, (void *) src, + csize); else - rc = memcpy_real(buf, (void *) src, csize); - return rc < 0 ? rc : csize; + memcpy_real(buf, (void *) src, csize); + return csize; } /* -- 2.20.1