[PATCH] arm64: kdump: update ppos when reading elfcorehdr

Tyler Hicks tyhicks at linux.microsoft.com
Fri Mar 19 21:07:00 GMT 2021


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 <tyhicks at linux.microsoft.com>

Tyler

> Signed-off-by: Pavel Tatashin <pasha.tatashin at 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
> 



More information about the linux-arm-kernel mailing list