Hi Linus,
Am 19.06.2021 um 13:54 schrieb Linus Torvalds:
On Fri, Jun 18, 2021 at 6:32 PM Michael Schmitz <schmitzmic@xxxxxxxxx> wrote:
*** FORMAT ERROR *** FORMAT=0
Current process id is 1
BAD KERNEL TRAP: 00000000
Modules linked in:
PC: [<00002af0>] resume_userspace+0x14/0x16
SR: 2204 SP: (ptrval) a2: 00000000
d0: 00000000 d1: 00000000 d2: 00000000 d3: 00000000
d4: 00000000 d5: 00000000 a0: 00000000 a1: 00000000
Yeah, so that's presumably the rte that causes an exception due to
garbage on the stack.
The registers being zero at that point is actually expected, so that's
not much of a hint. But yeah, clearly I got some stack initialization
offset or something wrong there, and I don't know modern m68k nearly
well enough to even guess where I screwed up.
It might have been me screwing up - I hand applied the patch on top of
my last one and fat fingered one bit (forgot to remove the addql #4,sp@
I had added before the switch stack save).
With the patch correctly applied, I get this dump:
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
CPU: 0 PID: 1 Comm: init Not tainted 5.13.0-rc1-atari-fpuemu-exitfix+ #1126
Stack from 0081be08:
0081be08 003363d8 003363d8 002aebaa 000000ff 00000001 0002fa64
00818a90
0081a000 0000000b 0081be70 00028610 0032df62 0000000b 0000000b
0002e0d2
0002fa64 00000001 001a978c 0000000b 0081bf30 0081daf8 0081bf44
00000000
00000000 00000000 0081ec40 00029458 0000000b 0081a007 00030504
0000000b
00000000 00000000 00000000 00000000 00818550 00000000 0081bf90
0081bf30
00000000 0081bf68 00030066 0081da30 000042c4 0081bf30 00000000
00000000
Call Trace: [<002aebaa>] panic+0xc0/0x282
[<0002fa64>] do_signal_stop+0x0/0x14a
[<00028610>] do_exit+0x152/0x6f4
[<0002e0d2>] recalc_sigpending+0x0/0x1e
[<0002fa64>] do_signal_stop+0x0/0x14a
[<001a978c>] memcpy+0x0/0x88
[<00029458>] do_group_exit+0x40/0x7e
[<00030504>] get_signal+0x22c/0x510
[<00030066>] force_sig_info_to_task+0x7e/0x8a
[<000042c4>] do_notify_resume+0x3c/0x484
[<000302b2>] force_sig_fault_to_task+0x30/0x3c
[<000302d2>] force_sig_fault+0x14/0x1a
[<00005eb8>] send_fault_sig+0x24/0x86
[<00002b14>] do_signal_return+0x10/0x1a
[<00007008>] atari_reset+0x90/0xbc
[<0000c000>] clr_mant+0x8/0x14
No registers dumped at all - no idea how that happened.
I'll try your latest patch next ... bear with me, got a 9-year old
chewing my ear off to entertain in between tests.
Cheers,
Michael
Linus