On 08/30/19 at 11:12am, Donald Buczek wrote:
> Linux kernel commit d52888aa2753 ("x86/mm: Move LDT remap out of KASLR
> region on 5-level paging") changed the base of the direct mapping
> from 0xffff880000000000 to 0xffff888000000000. This was merged
> into v4.20-rc2.

A good catch and necessary fix, thanks.

Does it have issue in makedumpfile?

#ifdef __x86_64__
#define __PAGE_OFFSET_ORIG      (0xffff810000000000) /* 2.6.26, or former */
#define __PAGE_OFFSET_2_6_27    (0xffff880000000000) /* 2.6.27, or later  */
#define __PAGE_OFFSET_5LEVEL    (0xff10000000000000) /* 5-level page table */ 
...
#endif

Thanks
Baoquan

> 
> Update to new address accordingly.
> ---
>  kexec/arch/i386/crashdump-x86.c | 2 ++
>  kexec/arch/i386/crashdump-x86.h | 3 ++-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c
> index a2aea31..c79791f 100644
> --- a/kexec/arch/i386/crashdump-x86.c
> +++ b/kexec/arch/i386/crashdump-x86.c
> @@ -61,6 +61,8 @@ static int get_kernel_page_offset(struct kexec_info 
> *UNUSED(info),
>  
>               if (kv < KERNEL_VERSION(2, 6, 27))
>                       elf_info->page_offset = X86_64_PAGE_OFFSET_PRE_2_6_27;
> +             else if (kv < KERNEL_VERSION(4, 20, 0))
> +                     elf_info->page_offset = X86_64_PAGE_OFFSET_PRE_4_20_0;
>               else
>                       elf_info->page_offset = X86_64_PAGE_OFFSET;
>       }
> diff --git a/kexec/arch/i386/crashdump-x86.h b/kexec/arch/i386/crashdump-x86.h
> index ddee19f..e4fdc82 100644
> --- a/kexec/arch/i386/crashdump-x86.h
> +++ b/kexec/arch/i386/crashdump-x86.h
> @@ -13,7 +13,8 @@ int load_crashdump_segments(struct kexec_info *info, char 
> *mod_cmdline,
>  
>  #define X86_64__START_KERNEL_map     0xffffffff80000000ULL
>  #define X86_64_PAGE_OFFSET_PRE_2_6_27        0xffff810000000000ULL
> -#define X86_64_PAGE_OFFSET           0xffff880000000000ULL
> +#define X86_64_PAGE_OFFSET_PRE_4_20_0        0xffff880000000000ULL
> +#define X86_64_PAGE_OFFSET   0xffff888000000000ULL
>  
>  #define X86_64_MAXMEM                        0x3fffffffffffUL
>  
> -- 
> 2.22.0
> 
> 
> _______________________________________________
> kexec mailing list
> kexec@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to