38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
|
From 69786ee12c4842d2cbd39ea42df65c45fb043edd Mon Sep 17 00:00:00 2001
|
||
|
From: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
|
||
|
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 <quic_pkondeti@quicinc.com>
|
||
|
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
|
||
|
---
|
||
|
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
|
||
|
|