Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.5:Update
makedumpfile.28153
makedumpfile-sadump-kaslr-fix-kaslr_offset-calc...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File makedumpfile-sadump-kaslr-fix-kaslr_offset-calculation.patch of Package makedumpfile.28153
From: HATAYAMA Daisuke <d.hatayama@fujitsu.com> Date: Tue Jan 25 12:55:15 2022 +0000 Subject: sadump, kaslr: fix failure of calculating kaslr_offset References: bsc#1196736 Upstream: merged Git-commit: 59b1726fbcc251155140c8a1972384498fee4daf 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> Acked-by: Petr Tesarik <ptesarik@suse.com> --- makedumpfile.c | 2 ++ 1 file changed, 2 insertions(+) --- a/makedumpfile.c +++ b/makedumpfile.c @@ -1634,6 +1634,8 @@ get_symbol_info(void) SYMBOL_INIT(cur_cpu_spec, "cur_cpu_spec"); SYMBOL_INIT(divide_error, "divide_error"); + if (SYMBOL(divide_error) == NOT_FOUND_SYMBOL) + SYMBOL_INIT(divide_error, "asm_exc_divide_error"); SYMBOL_INIT(idt_table, "idt_table"); SYMBOL_INIT(saved_command_line, "saved_command_line"); SYMBOL_INIT(pti_init, "pti_init");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor