From 69786ee12c4842d2cbd39ea42df65c45fb043edd Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Thu, 8 Dec 2022 09:55:07 +0530 Subject: [PATCH 47/89] arm64: handle vabits_actual symbol missing case After kernel commit 0d9b1ffefabe ("arm64: mm: make vabits_actual a build time constant if possible") introduced in Linux v5.19, the crash will not find vabits_actual symbol if VA_BITS <= 48. Add a fallback option to initialize VA_BITS based on the user supplied machdep option. Tested ramdumps loading in both 6.0 and 5.15 kernels. Signed-off-by: Pavankumar Kondeti Signed-off-by: Lianbo Jiang --- arm64.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arm64.c b/arm64.c index 7e8a7db1fcc4..56fb841f43f8 100644 --- a/arm64.c +++ b/arm64.c @@ -4671,6 +4671,10 @@ arm64_calc_VA_BITS(void) return; } else if (arm64_set_va_bits_by_tcr()) { return; + } else if (machdep->machspec->VA_BITS_ACTUAL) { + machdep->machspec->VA_BITS = machdep->machspec->VA_BITS_ACTUAL; + machdep->machspec->VA_START = _VA_START(machdep->machspec->VA_BITS_ACTUAL); + return; } if (!(sp = symbol_search("swapper_pg_dir")) && -- 2.37.1