From: Qianli Zhao <qianli.zhao(a)horizon.ai>
Setting st->_stext_vmlinux to UNINITIALIZED to search for "_stext"
from the vmlinux. In the scenario where kaslr is disabled and
without vmcore file, will get the wrong MODULES/VMALLOC ranges,
cause parsing raw dumpfile failure
Signed-off-by: Qianli Zhao <qianli.zhao(a)horizon.ai>
---
v2: Update patch log and add some comment in code.
---
arm64.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arm64.c b/arm64.c
index 0f615cf..5d306cd 100644
--- a/arm64.c
+++ b/arm64.c
@@ -149,6 +149,15 @@ arm64_init(int when)
ms = machdep->machspec;
+ /*
+ * The st->_stext_vmlinux is needed in arm64_init(PRE_GDB) when a
+ * dumpfile does not have vmcoreinfo and we use -m vabits_actual
+ * option, e.g. a raw RAM dumpfile.
+ *
+ */
+ if (ms->VA_BITS_ACTUAL)
+ st->_stext_vmlinux = UNINITIALIZED;
+
if (!ms->kimage_voffset && STREQ(pc->live_memsrc,
"/dev/crash"))
ioctl(pc->mfd, DEV_CRASH_ARCH_DATA, &ms->kimage_voffset);
--
2.17.1