On 2021-03-19 16:50:54, Pavel Tatashin wrote: > The ppos points to a position in the old kernel memory (and in case of > arm64 in the crash kernel since elfcorehdr is passed as a segment). The > function should update the ppos by the amount that was read. This bug is > not exposed by accident, but other platforms update this value properly. > So, fix it in ARM64 version of elfcorehdr_read() as well. >
Fixes: e62aaeac426a ("arm64: kdump: provide /proc/vmcore file") Reviewed-by: Tyler Hicks <tyhi...@linux.microsoft.com> Tyler > Signed-off-by: Pavel Tatashin <pasha.tatas...@soleen.com> > --- > arch/arm64/kernel/crash_dump.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/kernel/crash_dump.c b/arch/arm64/kernel/crash_dump.c > index e6e284265f19..58303a9ec32c 100644 > --- a/arch/arm64/kernel/crash_dump.c > +++ b/arch/arm64/kernel/crash_dump.c > @@ -64,5 +64,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf, > ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos) > { > memcpy(buf, phys_to_virt((phys_addr_t)*ppos), count); > + *ppos += count; > + > return count; > } > -- > 2.25.1 >