From 1882a00b9dcc56f993e15b5440725140799dedba Mon Sep 17 00:00:00 2001 From: wangbin Date: Fri, 3 Sep 2021 16:14:17 +0800 Subject: [PATCH] crash: fix null pointer reference when CONFIG_KASAN is open If CONFIG_KASAN is open, CONFIG_VMAP_STACK will be closed. And the sdei_stack_normal_ptr will be undefined. When crash init the stack, sdei_stacks will not init. We should not access the sdei_stacks later, so check null pointer before access it. Signed-off-by: wangbin --- add-SDEI-stack-resolution.patch | 4 +++- crash.spec | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/add-SDEI-stack-resolution.patch b/add-SDEI-stack-resolution.patch index 70ebb78..bfd04f6 100644 --- a/add-SDEI-stack-resolution.patch +++ b/add-SDEI-stack-resolution.patch @@ -225,7 +225,7 @@ index fdf77bd..cc32d9d 100644 bt->flags &= ~BT_IRQSTACK; if (arm64_switch_stack(bt, &stackframe, ofp) == USER_MODE) break; -@@ -2965,6 +3068,79 @@ arm64_in_kdump_text(struct bt_info *bt, struct arm64_stackframe *frame) +@@ -2965,6 +3068,81 @@ arm64_in_kdump_text(struct bt_info *bt, struct arm64_stackframe *frame) } static int @@ -241,6 +241,8 @@ index fdf77bd..cc32d9d 100644 + return FALSE; + + ms = machdep->machspec; ++ if (!ms->sdei_stacks) ++ return FALSE; + cpu = bt->tc->processor; + stackbase = ms->sdei_stacks[cpu]; + stackbuf = GETBUF(ms->sdei_stack_size); diff --git a/crash.spec b/crash.spec index a1efbae..9b99ff9 100644 --- a/crash.spec +++ b/crash.spec @@ -1,6 +1,6 @@ Name: crash Version: 7.2.9 -Release: 4 +Release: 5 Summary: Linux kernel crash utility. License: GPLv3 URL: https://crash-utility.github.io @@ -76,6 +76,9 @@ install -D -m 0644 defs.h %{buildroot}%{_includedir}/%{name}/defs.h %{_mandir}/man8/crash.8* %changelog +* Fri Sep 03 2021 wangbin - 7.2.9-5 +- fix null pointer reference when CONFIG_KASAN is open + * Tue Jun 29 2021 zhouwenpei - 7.2.9-4 - add buildrequires m4 -- Gitee