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

New Debian sparc64 test kernel for stack corruption issue



Hi,

NRoach44 on the #debian-ports IRC channel has determined that turning off
the following two configuration options in the Linux kernel,

- CONFIG_SLAB_FREELIST_HARDENED
- CONFIG_SLAB_FREELIST_RANDOM

fixes the following crash:

[   25.528376] Kernel panic - not syncing: corrupted stack end detected inside scheduler
[   25.528384] CPU: 149 UID: 0 PID: 2305 Comm: (udev-worker) Tainted: G        W           6.17.3-1760771931-debmod #13 NONE 
[   25.528395] Tainted: [W]=WARN
[   25.528399] Call Trace:
[   25.528403] [<0000000000433cd4>] dump_stack+0x8/0x18
[   25.528419] [<00000000004297ac>] vpanic+0xdc/0x318
[   25.528429] [<0000000000429a0c>] panic+0x24/0x30
[   25.528436] [<0000000000be2280>] __schedule+0xa8/0x7bc
[   25.528445] [<0000000000be2b60>] schedule+0x24/0x4c
[   25.528452] [<0000000000be6970>] schedule_timeout+0xc8/0xe4
[   25.528459] [<0000000000be3318>] __wait_for_common+0x78/0xf0
[   25.528466] [<0000000000be3550>] wait_for_completion_timeout+0x1c/0x2c
[   25.528473] [<000000001005e2f4>] usb_start_wait_urb+0x68/0x128 [usbcore]
[   25.528502] [<000000001005e468>] usb_control_msg+0xb4/0xf8 [usbcore]
[   25.528518] [<0000000010051180>] set_port_feature+0x44/0x54 [usbcore]
[   25.528530] [<00000000100530f0>] hub_power_on+0xc8/0xe8 [usbcore]
[   25.528543] [<0000000010054fd8>] hub_activate+0x12c/0x644 [usbcore]
[   25.528557] [<0000000010059438>] hub_probe+0xdd4/0xeb0 [usbcore]
[   25.528570] [<0000000010062360>] usb_probe_interface+0x234/0x26c [usbcore]
[   25.528585] [<0000000000a10a40>] really_probe+0x1ac/0x3b0
[   26.606260] Press Stop-A (L1-A) from sun keyboard or send break
[   26.606260] twice on console to return to the boot prom
[   26.628265] ---[ end Kernel panic - not syncing: corrupted stack end detected inside scheduler ]---

I have created UMP and SMP test kernel Debian packages to verify this:

https://people.debian.org/~glaubitz/sparc64/

Could someone test this kernel? It works for me in a SPARC T4 LDOM.

FWIW, the kernel does *not* yet include the fixes for accurate exception reporting [1],
so expect that the kernels may not be stable on older UltraSPARC systems. The fixes for
that will be included in 6.17.3 or newer or 6.18 or newer.

A GitHub issue has been opened for this bug in [2].

Adrian

> [1] https://github.com/sparclinux/issues/issues/1
> [2] https://github.com/sparclinux/issues/issues/14

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


Reply to: