On 3/18/21 10:09 AM, Mark Brown wrote: > On Mon, Mar 15, 2021 at 11:57:53AM -0500, madvenka@xxxxxxxxxxxxxxxxxxx wrote: > >> In summary, task pt_regs->stackframe is where a successful stack trace ends. > >> .if \el == 0 >> - mov x29, xzr >> + stp xzr, xzr, [sp, #S_STACKFRAME] >> .else >> stp x29, x22, [sp, #S_STACKFRAME] >> - add x29, sp, #S_STACKFRAME >> .endif >> + add x29, sp, #S_STACKFRAME > > For both user and kernel threads this patch (at least by itself) results > in an additional record being reported in stack traces with a NULL > function pointer since it keeps the existing record where it is and adds > this new fixed record below it. This is addressed for the kernel later > in the series, by "arm64: Terminate the stack trace at TASK_FRAME and > EL0_FRAME", but will still be visible to other unwinders such as > debuggers. I'm not sure that this *matters* but it might and should at > least be called out more explicitly. > > If we are going to add the extra record there would probably be less > potential for confusion if we pointed it at some sensibly named dummy > function so anything or anyone that does see it on the stack doesn't get > confused by a NULL. > I agree. I will think about this some more. If no other solution presents itself, I will add the dummy function. Madhavan > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >