ARM panic registers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dave et. al.,

For ARM {k,net}dumps panic tasks we go to great lengths to locate
the prstatus data (crash registers) in

    netdump.c:get_netdump_regs_arm()

In fact we rely so hard on them having been read from the CORE
ELF notes and put in either

    nd->nt_prstatus_percpu

or

    nd->nt_prstatus

that there's a segfault if that's not the case. The thing is,
once we've gone through all that trouble of finding them, and
making sure bt->machdep points to them,
arm.c:arm_get_stack_frame() is called, which ends up getting the
crash registers from

    machdep->machspec->crash_task_regs

anyway. These are read directly from within the PT_LOAD segments
ignoring the contents any ELF notes.

I suggest changing get_netdump_regs_arm() to:

static void
get_netdump_regs_arm(struct bt_info *bt, ulong *eip, ulong *esp)
{
	machdep->get_stack_frame(bt, eip, esp);
}

If we're not going to use the ELF notes, why fail if they're not
there?

Regards
Per

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility


[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux