Messages in this thread | | | From | Zhen Lei <> | Subject | [PATCH 0/2] arm: Replace this_cpu_* with raw_cpu_* in panic_bad_stack() | Date | Thu, 25 Aug 2022 14:31:52 +0800 |
| |
I'm analyzing a strange problem these days, and I find that there are some areas in panic_bad_stack() that can be optimized. That is, replace this_cpu_* with raw_cpu_* .
Just optimization, it is unlikely to cause the following exception nesting, because of "lr : __bad_stack+0x88/0x8c".
[20220819163739]Unable to handle kernel paging request at virtual address f7ffff94901b8048 [20220819163739]Mem abort info: [20220819163739] ESR = 0x96000004 [20220819163739] EC = 0x25: DABT (current EL), IL = 32 bits [20220819163739] SET = 0, FnV = 0 [20220819163739] EA = 0, S1PTW = 0 [20220819163739]Data abort info: [20220819163739] ISV = 0, ISS = 0x00000004 [20220819163739] CM = 0, WnR = 0 [20220819163739][f7ffff94901b8048] address between user and kernel address ranges [20220819163739]Internal error: Oops: 96000004 [#1] PREEMPT SMP [20220819163739]Modules linked in: ... [20220819163740]CPU: 2 PID: 1272 Comm: 00002SWDLMain Tainted: G W O 5.10.0 #1 [20220819163740]Hardware name: hisilicon,hi1213-fpga (DT) [20220819163740]pstate: 000003c5 (nzcv DAIF -PAN -UAO -TCO BTYPE=--) [20220819163740]pc : __bad_stack+0x4c/0x8c [20220819163740]lr : __bad_stack+0x88/0x8c [20220819163740]sp : ffffff953ffa8160 [20220819163740]x29: f7ffff953ffa8120 x28: f7ffff94901b8040 [20220819163740]x27: ffffffeb72ea6940 x26: ffffffebeee6cf10 [20220819163740]x25: ffffffebef627000 x24: 0000000000000000 [20220819163740]x23: 00000000600003c5 x22: f7ffffebeee11904 [20220819163740]x21: ffffff953ffa82b0 x20: 0000007fffffffff [20220819163740]x19: f7ffffc0133ab898 x18: 0000000000000000 [20220819163740]x17: 0000000000000000 x16: ffffffebef32f0a0 [20220819163740]x15: 00000000624057a0 x14: 953325a7da350fb3 [20220819163740]x13: 09bbbe32ce2b3c11 x12: c15a0e2d1991997b [20220819163740]x11: 0bc8be839e7850d0 x10: cafa1cb223203045 [20220819163740]x9 : f36bed299e5840dc x8 : ffffffc0133aba48 [20220819163740]x7 : ffffff953b1b0480 x6 : ffffffebef3e1000 [20220819163740]x5 : 0000000000000000 x4 : 0000000000000001 [20220819163740]x3 : f7ffffc0133ab750 x2 : 0000000000000025 [20220819163740]x1 : 0000000096000004 x0 : ffffff953ffa8160 [20220819163740]Call trace: [20220819163740] __bad_stack+0x4c/0x8c [20220819163740]Code: a90d6ffa a90e77fc 910543f5 d538411c (f9400794) [20220819163740]---[ end trace 07532bfa2c24851c ]--- [20220819163740]Kernel panic - not syncing: Oops: Fatal exception
Zhen Lei (2): arm64/traps: Replace this_cpu_* with raw_cpu_* in panic_bad_stack() ARM: Replace this_cpu_* with raw_cpu_* in panic_bad_stack()
arch/arm/kernel/traps.c | 4 ++-- arch/arm64/kernel/traps.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
-- 2.25.1
| |