|
Mian Yousaf Kaukab |
4accc7 |
From: Pavel Tatashin <pasha.tatashin@soleen.com>
|
|
Mian Yousaf Kaukab |
4accc7 |
Date: Fri, 19 Mar 2021 16:50:54 -0400
|
|
Mian Yousaf Kaukab |
4accc7 |
Subject: arm64: kdump: update ppos when reading elfcorehdr
|
|
Mian Yousaf Kaukab |
4accc7 |
|
|
Mian Yousaf Kaukab |
4accc7 |
Git-commit: 141f8202cfa4192c3af79b6cbd68e7760bb01b5a
|
|
Mian Yousaf Kaukab |
4accc7 |
Patch-mainline: v5.12-rc5
|
|
Mian Yousaf Kaukab |
4accc7 |
References: git-fixes
|
|
Mian Yousaf Kaukab |
4accc7 |
|
|
Mian Yousaf Kaukab |
4accc7 |
The ppos points to a position in the old kernel memory (and in case of
|
|
Mian Yousaf Kaukab |
4accc7 |
arm64 in the crash kernel since elfcorehdr is passed as a segment). The
|
|
Mian Yousaf Kaukab |
4accc7 |
function should update the ppos by the amount that was read. This bug is
|
|
Mian Yousaf Kaukab |
4accc7 |
not exposed by accident, but other platforms update this value properly.
|
|
Mian Yousaf Kaukab |
4accc7 |
So, fix it in ARM64 version of elfcorehdr_read() as well.
|
|
Mian Yousaf Kaukab |
4accc7 |
|
|
Mian Yousaf Kaukab |
4accc7 |
Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
|
|
Mian Yousaf Kaukab |
4accc7 |
Fixes: e62aaeac426a ("arm64: kdump: provide /proc/vmcore file")
|
|
Mian Yousaf Kaukab |
4accc7 |
Reviewed-by: Tyler Hicks <tyhicks@linux.microsoft.com>
|
|
Mian Yousaf Kaukab |
4accc7 |
Link: https://lore.kernel.org/r/20210319205054.743368-1-pasha.tatashin@soleen.com
|
|
Mian Yousaf Kaukab |
4accc7 |
Signed-off-by: Will Deacon <will@kernel.org>
|
|
Mian Yousaf Kaukab |
4accc7 |
Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
|
|
Mian Yousaf Kaukab |
4accc7 |
---
|
|
Mian Yousaf Kaukab |
4accc7 |
arch/arm64/kernel/crash_dump.c | 2 ++
|
|
Mian Yousaf Kaukab |
4accc7 |
1 file changed, 2 insertions(+)
|
|
Mian Yousaf Kaukab |
4accc7 |
|
|
Mian Yousaf Kaukab |
4accc7 |
diff --git a/arch/arm64/kernel/crash_dump.c b/arch/arm64/kernel/crash_dump.c
|
|
Mian Yousaf Kaukab |
4accc7 |
index e6e284265f19..58303a9ec32c 100644
|
|
Mian Yousaf Kaukab |
4accc7 |
--- a/arch/arm64/kernel/crash_dump.c
|
|
Mian Yousaf Kaukab |
4accc7 |
+++ b/arch/arm64/kernel/crash_dump.c
|
|
Mian Yousaf Kaukab |
4accc7 |
@@ -64,5 +64,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
|
|
Mian Yousaf Kaukab |
4accc7 |
ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos)
|
|
Mian Yousaf Kaukab |
4accc7 |
{
|
|
Mian Yousaf Kaukab |
4accc7 |
memcpy(buf, phys_to_virt((phys_addr_t)*ppos), count);
|
|
Mian Yousaf Kaukab |
4accc7 |
+ *ppos += count;
|
|
Mian Yousaf Kaukab |
4accc7 |
+
|
|
Mian Yousaf Kaukab |
4accc7 |
return count;
|
|
Mian Yousaf Kaukab |
4accc7 |
}
|
|
Mian Yousaf Kaukab |
4accc7 |
--
|
|
Mian Yousaf Kaukab |
4accc7 |
2.26.2
|
|
Mian Yousaf Kaukab |
4accc7 |
|