lkml.org 
[lkml]   [2021]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 168/221] arm64: kdump: update ppos when reading elfcorehdr
    Date
    From: Pavel Tatashin <pasha.tatashin@soleen.com>

    [ Upstream commit 141f8202cfa4192c3af79b6cbd68e7760bb01b5a ]

    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.

    Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
    Fixes: e62aaeac426a ("arm64: kdump: provide /proc/vmcore file")
    Reviewed-by: Tyler Hicks <tyhicks@linux.microsoft.com>
    Link: https://lore.kernel.org/r/20210319205054.743368-1-pasha.tatashin@soleen.com
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    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.30.1


    \
     
     \ /
      Last update: 2021-03-29 11:10    [W:4.403 / U:0.564 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site