Patch "arm64: kdump: update ppos when reading elfcorehdr" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    arm64: kdump: update ppos when reading elfcorehdr

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     arm64-kdump-update-ppos-when-reading-elfcorehdr.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 58126b6df9dc56c36a94614ec3ce1b21676ad810
Author: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
Date:   Fri Mar 19 16:50:54 2021 -0400

    arm64: kdump: update ppos when reading elfcorehdr
    
    [ 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@xxxxxxxxxx>
    Fixes: e62aaeac426a ("arm64: kdump: provide /proc/vmcore file")
    Reviewed-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20210319205054.743368-1-pasha.tatashin@xxxxxxxxxx
    Signed-off-by: Will Deacon <will@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

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;
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux