RE: [PATCH 1/1] arm: backtrace-clang: fix wrong sp usage for unwinding
Maninder Singh <[email protected]> Wed, 05 Aug 2026 09:29:15 +0530
| Newsgroups | gmane.linux.kernel,gmane.linux.ports.arm.kernel |
|---|---|
| Message-ID | <20260805035915epcms5p8b47cc0c9349e1a5178cc6e4c6d3ee918@epcms5p8> |
Hi Ard, Nathan Thanks for checking the patch. > The existing code does seem to be broken, as the provided frame pointer > value is ignored entirely. > > However, by removing this add, you are skipping the false frame, which > was added to ensure that calling c_backtrace() from dump_backtrace() > does not miss any frames when regs == NULL. > > So I think the correct approach here is to make the add conditional > on whether frame == fp, which will be the case when c_backtrace() > is called from dump_backtrace() with a NULL regs argument. > > I.e., > > cmp frame, fp > addeq frame, sp, #24 Initially I thought we can ignore the extra frame, because we will be getting the backtrace till show_stack(). But "YES" as you said to ensure dump_backtrace() in Backtrace, it should be there. So I will send the update change. Tested with your suggestion: Call trace: dump_backtrace from show_stack+0x14/0x18 show_stack from dump_stack_lvl+0x38/0x74 dump_stack_lvl from dump_stack+0x14/0x18 dump_stack from meminfo_proc_show+0x4c/0x908 meminfo_proc_show from seq_read_iter+0x148/0x4bc Thanks, Maninder Singh