[PATCH RFC][makedumpfile 01/10] dwarf_info: Support kernel address randomization

Tao Liu ltao at redhat.com
Tue Jun 10 02:57:34 PDT 2025


There is a bug of not supporting randomized kernel address, this patch fix it.

Signed-off-by: Tao Liu <ltao at redhat.com>
---
 erase_info.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/erase_info.c b/erase_info.c
index af6bfae..b67d1d0 100644
--- a/erase_info.c
+++ b/erase_info.c
@@ -1881,7 +1881,7 @@ get_symbol_addr_all(char *name) {
 	if (!strcmp(get_dwarf_module_name(), "vmlinux")) {
 		symbol_addr = get_symbol_addr(name);
 		if (symbol_addr)
-			return symbol_addr;
+			return symbol_addr + info->kaslr_offset;
 
 		vmlinux_searched = 1;
 	}
@@ -1942,9 +1942,9 @@ get_symbol_addr_all(char *name) {
 	 * this function is called with debuginfo set to a particular
 	 * kernel module and we are looking for symbol in vmlinux
 	 */
-	if (!vmlinux_searched)
-		return get_symbol_addr(name);
-	else
+	if (!vmlinux_searched && !!(symbol_addr = get_symbol_addr(name))) {
+		return symbol_addr + info->kaslr_offset;
+	} else
 		return NOT_FOUND_SYMBOL;
 }
 
-- 
2.47.0




More information about the kexec mailing list