소스 검색

[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 <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Michael Holzheu 13 년 전
부모
커밋
07ea815b22
1개의 변경된 파일4개의 추가작업 그리고 5개의 파일을 삭제
  1. 4 5
      arch/s390/kernel/crash_dump.c

+ 4 - 5
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;
 }
 
 /*