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.

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

Reply via email to