s390/mm: uninline copy_oldmem_kernel() function
authorAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 8 Sep 2022 12:23:02 +0000 (14:23 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 14 Sep 2022 14:46:01 +0000 (16:46 +0200)
Uninline copy_oldmem_kernel() function and make it consistent
with a very similar memcpy_real() implementation, by moving
to code to crash_dump.c, where it actually belongs.

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/maccess.h
arch/s390/include/asm/os_info.h
arch/s390/kernel/crash_dump.c
arch/s390/kernel/os_info.c
arch/s390/kernel/smp.c

index 21ebd9bf34ccad05a0f502c7c695e062cefece4a..c7fa838cf6b90d135f3047fbf7296a38dbb060a4 100644 (file)
@@ -10,5 +10,8 @@ extern unsigned long __memcpy_real_area;
 void memcpy_real_init(void);
 size_t memcpy_real_iter(struct iov_iter *iter, unsigned long src, size_t count);
 int memcpy_real(void *dest, unsigned long src, size_t count);
+#ifdef CONFIG_CRASH_DUMP
+int copy_oldmem_kernel(void *dst, unsigned long src, size_t count);
+#endif
 
 #endif /* __ASM_S390_MACCESS_H */
index 85248d8fee0cd11c3ea2ba2f99c75757a602c196..0d1c74a7a65044f86b7dcff62a7aab17a5064b48 100644 (file)
@@ -41,20 +41,6 @@ u32 os_info_csum(struct os_info *os_info);
 
 #ifdef CONFIG_CRASH_DUMP
 void *os_info_old_entry(int nr, unsigned long *size);
-size_t copy_oldmem_iter(struct iov_iter *iter, unsigned long src, size_t count);
-
-static inline int copy_oldmem_kernel(void *dst, unsigned long src, size_t count)
-{
-       struct iov_iter iter;
-       struct kvec kvec;
-
-       kvec.iov_base = dst;
-       kvec.iov_len = count;
-       iov_iter_kvec(&iter, WRITE, &kvec, 1, count);
-       if (copy_oldmem_iter(&iter, src, count) < count)
-               return -EFAULT;
-       return 0;
-}
 #else
 static inline void *os_info_old_entry(int nr, unsigned long *size)
 {
index 438fe696a4a3b774b4a12cc2ee5b546bac244e23..dd74fe664ed12e0e90619c783b2b4c840390c474 100644 (file)
@@ -115,7 +115,7 @@ void __init save_area_add_vxrs(struct save_area *sa, __vector128 *vxrs)
        memcpy(sa->vxrs_high, vxrs + 16, 16 * sizeof(__vector128));
 }
 
-size_t copy_oldmem_iter(struct iov_iter *iter, unsigned long src, size_t count)
+static size_t copy_oldmem_iter(struct iov_iter *iter, unsigned long src, size_t count)
 {
        size_t len, copied, res = 0;
 
@@ -146,6 +146,19 @@ size_t copy_oldmem_iter(struct iov_iter *iter, unsigned long src, size_t count)
        return res;
 }
 
+int copy_oldmem_kernel(void *dst, unsigned long src, size_t count)
+{
+       struct iov_iter iter;
+       struct kvec kvec;
+
+       kvec.iov_base = dst;
+       kvec.iov_len = count;
+       iov_iter_kvec(&iter, WRITE, &kvec, 1, count);
+       if (copy_oldmem_iter(&iter, src, count) < count)
+               return -EFAULT;
+       return 0;
+}
+
 /*
  * Copy one page from "oldmem"
  */
index 506ccb74d2d0bcd5b18279c364c0d14af94d080f..ec0bd9457e90ae5f852f3af6915aba46730e9442 100644 (file)
@@ -15,6 +15,7 @@
 #include <asm/checksum.h>
 #include <asm/abs_lowcore.h>
 #include <asm/os_info.h>
+#include <asm/maccess.h>
 #include <asm/asm-offsets.h>
 
 /*
index 14601648914ecc1f64a4fc90546cd59796043e0a..0031325ce4bc9f1656c16151d0eb5cdef41593de 100644 (file)
@@ -55,6 +55,7 @@
 #include <asm/stacktrace.h>
 #include <asm/topology.h>
 #include <asm/vdso.h>
+#include <asm/maccess.h>
 #include "entry.h"
 
 enum {