6e2f52 makedumpfile: sadump, kaslr: fix failure of calculating kaslr_offset

Authored and Committed by liutgnu 2 years ago
    makedumpfile: sadump, kaslr: fix failure of calculating kaslr_offset
    
    upstream: fedora
    resolves: bz2055498
    conflict: none
    
    commit 59b1726fbcc251155140c8a1972384498fee4daf
    Author: HATAYAMA Daisuke <d.hatayama@fujitsu.com>
    Date:   Tue Jan 25 12:55:15 2022 +0000
    
        [PATCH] sadump, kaslr: fix failure of calculating kaslr_offset
    
        On kernels v5.8 or later, makedumpfile fails for memory dumps in the
        sadump-related formats as follows:
    
            # makedumpfile -f -l -d 31 -x ./vmlinux /dev/sdd4 /root/vmcore-ld31
            __vtop4_x86_64: Can't get a valid pud_pte.
            ...110 lines of the same message...
            __vtop4_x86_64: Can't get a valid pud_pte.
            calc_kaslr_offset: failed to calculate kaslr_offset and phys_base; default to 0
            readmem: type_addr: 1, addr:ffffffff85411858, size:8
            __vtop4_x86_64: Can't get pgd (page_dir:ffffffff85411858).
            readmem: Can't convert a virtual address(ffffffff059be980) to physical address.
            readmem: type_addr: 0, addr:ffffffff059be980, size:1024
            cpu_online_mask_init: Can't read cpu_online_mask memory.
    
            makedumpfile Failed.
    
        This is caused by the kernel commit 9d06c4027f21 ("x86/entry: Convert
        Divide Error to IDTENTRY") that renamed divide_error to
        asm_exc_divide_error, breaking logic for calculating kaslr offset.
    
        Fix this by adding initialization of asm_exc_divide_error.
    
        Signed-off-by: HATAYAMA Daisuke <d.hatayama@fujitsu.com>
    
    Signed-off-by: Tao Liu <ltao@redhat.com>
    
        
file modified
+2 -0