The ESP value itself seems generally sane:
As task.ti is 8K aligned (as it should be), and ESP is just a tad off the top of the
stack (as it should be: a light timer irq interrupted the idle task).
The relevant stack section looks like this:
[ 11.980010] c103d297 00000000 c10460c1 c13dff4c ca105369 00000002 ffffffff 7fffffff
[ 11.980010] c103d52b ca105369 00000002 ca105369 0000002c f6806a00 00000000 f6806a04
[ 11.980010] ca105369 00000002 ca105369 00000002 00000000 f6805dac 00000000 c1420788
and that 00000000 value after c103d297 seems to be the called fn().
The stack content looks sane as well - we have the NULL entry, then various other,
good looking entries that dont look corrupted per se. So either there's a 4 byte
corruption of the stack, or the place where we took 'fn' from got corrupted: either
the timer structure or the hrtimer per-cpu data area.
(More exotic crash scenarios as possible as well, if we consider .text corruption.)
Thanks,
Ingo
--