* [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
@ 2026-09-22 14:48 Paweł Frelek
2026-09-24 16:28 ` Paweł Frelek
0 siblings, 1 reply; 12+ messages in thread
From: Paweł Frelek @ 2026-09-22 14:48 UTC (permalink / raw)
To: andreas.noever; +Cc: linux-usb, YehezkelShB
Hi,
I hit a NULL pointer dereference in tb_dp_dprx_work during reboot,
right after the dock was disconnected from the Thunderbolt bus.
Hardware:
- Lenovo ThinkPad X13 Gen 3 AMD (21CNS15T00), BIOS R22ET81W (1.51)
- Lenovo ThinkPad Thunderbolt 4 Dock (40B0), external monitor over DP
Kernel: 7.2.6-hardened1 (Arch linux-hardened), not tainted
Cmdline includes: thunderbolt.dprx_timeout=-1
What happened:
The external DP monitor behind the dock did not come up at boot. I
unplugged and replugged the monitor's DP cable at the dock, without
success, then rebooted (the dock itself stayed connected). During
shutdown the dock was reported as disconnected and ~50 ms later the
pending DPRX work crashed:
[ 140.825070] thunderbolt 0-2: device disconnected
[ 140.875648] BUG: kernel NULL pointer dereference, address: 000000000000032b
[ 140.877281] CPU: 8 UID: 0 PID: 125 Comm: kworker/u48:4 Not tainted
7.2.6-hardened1-1-hardened #1 PREEMPT(full)
[ 140.877513] Hardware name: LENOVO 21CNS15T00/21CNS15T00, BIOS
R22ET81W (1.51 ) 04/10/2026
[ 140.877748] Workqueue: thunderbolt0 tb_dp_dprx_work [thunderbolt]
[ 140.878003] RIP: 0010:tb_dp_dprx_work+0x82/0x160 [thunderbolt]
[ 140.880927] Call Trace:
[ 140.881164] <TASK>
[ 140.881652] process_one_work+0x198/0x370
[ 140.881896] worker_thread+0x1a6/0x310
[ 140.882380] kthread+0xf3/0x130
[ 140.882863] ret_from_fork+0x2dc/0x3a0
[ 140.883818] ret_from_fork_asm+0x1a/0x30
[ 140.884065] </TASK>
[ 141.399331] Code: 24 20 48 8b 87 58 ff ff ff 48 8d b8 18 03 00 00
49 89 c4 4c 8d b8 18 03 00 00 e8 39 ff db d3 48 8b 8b 60 ff ff ff 48
8b 41 20 <0f> b6 90 2b 03 00 00 c0 ea 05 75 5d 66 81 b8 18 03 00 00 86
80 74
[ 141.399974] RAX: 0000000000000000 RBX: ffff88ae1389c4b0 RCX: ffff88b040d53578
[ 141.400298] RDX: ffff88b0916f0000 RSI: ffff88ae1389c4b8 RDI: ffff88ae011a6318
[ 141.402844] Kernel panic - not syncing: Fatal exception
It looks like the DPRX work is not cancelled when the device behind the
tunnel goes away. With dprx_timeout=-1 the work never expires, which
makes the window large, but I assume the race exists with the default
timeout too.
I set dprx_timeout=-1 because the external monitors sometimes did not
come up at boot (DP tunnel torn down as "not active").
Full pstore dmesg available on request.
Thanks,
Paweł
--
Paweł Frelek ( ͡° ͜ʖ ͡°)
pawel.frelek@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-09-22 14:48 [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6) Paweł Frelek
@ 2026-09-24 16:28 ` Paweł Frelek
2026-09-25 5:29 ` Mika Westerberg
0 siblings, 1 reply; 12+ messages in thread
From: Paweł Frelek @ 2026-09-24 16:28 UTC (permalink / raw)
To: westeri; +Cc: linux-usb, andreas.noever, YehezkelShB
FWIW, this is addressed by Sven Peter's series "thunderbolt: Fix DP
tunnel teardown while an async DPRX read is running", patches 1-6 of
which are already in thunderbolt.git/fixes. I tested v3 on top of
7.2.6 on this machine (dock unplug/replug, reboots with the dock
connected): no crashes or warnings.
Thanks,
Paweł
wt., 22 wrz 2026 o 16:48 Paweł Frelek <pawel.frelek@gmail.com> napisał(a):
>
> Hi,
>
> I hit a NULL pointer dereference in tb_dp_dprx_work during reboot,
> right after the dock was disconnected from the Thunderbolt bus.
>
> Hardware:
> - Lenovo ThinkPad X13 Gen 3 AMD (21CNS15T00), BIOS R22ET81W (1.51)
> - Lenovo ThinkPad Thunderbolt 4 Dock (40B0), external monitor over DP
>
> Kernel: 7.2.6-hardened1 (Arch linux-hardened), not tainted
> Cmdline includes: thunderbolt.dprx_timeout=-1
>
> What happened:
> The external DP monitor behind the dock did not come up at boot. I
> unplugged and replugged the monitor's DP cable at the dock, without
> success, then rebooted (the dock itself stayed connected). During
> shutdown the dock was reported as disconnected and ~50 ms later the
> pending DPRX work crashed:
>
> [ 140.825070] thunderbolt 0-2: device disconnected
> [ 140.875648] BUG: kernel NULL pointer dereference, address: 000000000000032b
> [ 140.877281] CPU: 8 UID: 0 PID: 125 Comm: kworker/u48:4 Not tainted
> 7.2.6-hardened1-1-hardened #1 PREEMPT(full)
> [ 140.877513] Hardware name: LENOVO 21CNS15T00/21CNS15T00, BIOS
> R22ET81W (1.51 ) 04/10/2026
> [ 140.877748] Workqueue: thunderbolt0 tb_dp_dprx_work [thunderbolt]
> [ 140.878003] RIP: 0010:tb_dp_dprx_work+0x82/0x160 [thunderbolt]
> [ 140.880927] Call Trace:
> [ 140.881164] <TASK>
> [ 140.881652] process_one_work+0x198/0x370
> [ 140.881896] worker_thread+0x1a6/0x310
> [ 140.882380] kthread+0xf3/0x130
> [ 140.882863] ret_from_fork+0x2dc/0x3a0
> [ 140.883818] ret_from_fork_asm+0x1a/0x30
> [ 140.884065] </TASK>
> [ 141.399331] Code: 24 20 48 8b 87 58 ff ff ff 48 8d b8 18 03 00 00
> 49 89 c4 4c 8d b8 18 03 00 00 e8 39 ff db d3 48 8b 8b 60 ff ff ff 48
> 8b 41 20 <0f> b6 90 2b 03 00 00 c0 ea 05 75 5d 66 81 b8 18 03 00 00 86
> 80 74
> [ 141.399974] RAX: 0000000000000000 RBX: ffff88ae1389c4b0 RCX: ffff88b040d53578
> [ 141.400298] RDX: ffff88b0916f0000 RSI: ffff88ae1389c4b8 RDI: ffff88ae011a6318
> [ 141.402844] Kernel panic - not syncing: Fatal exception
>
> It looks like the DPRX work is not cancelled when the device behind the
> tunnel goes away. With dprx_timeout=-1 the work never expires, which
> makes the window large, but I assume the race exists with the default
> timeout too.
>
> I set dprx_timeout=-1 because the external monitors sometimes did not
> come up at boot (DP tunnel torn down as "not active").
>
> Full pstore dmesg available on request.
>
> Thanks,
> Paweł
>
> --
> Paweł Frelek ( ͡° ͜ʖ ͡°)
> pawel.frelek@gmail.com
--
Paweł Frelek ( ͡° ͜ʖ ͡°)
pawel.frelek@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-09-24 16:28 ` Paweł Frelek
@ 2026-09-25 5:29 ` Mika Westerberg
2026-10-13 15:31 ` Paweł Frelek
0 siblings, 1 reply; 12+ messages in thread
From: Mika Westerberg @ 2026-09-25 5:29 UTC (permalink / raw)
To: Paweł Frelek; +Cc: westeri, linux-usb, andreas.noever, YehezkelShB
Hi,
Thanks for the report and good that the problem got fixed. These should
land on the v7.3-rcX still.
On Thu, Sep 24, 2026 at 06:28:34PM +0200, Paweł Frelek wrote:
> FWIW, this is addressed by Sven Peter's series "thunderbolt: Fix DP
> tunnel teardown while an async DPRX read is running", patches 1-6 of
> which are already in thunderbolt.git/fixes. I tested v3 on top of
> 7.2.6 on this machine (dock unplug/replug, reboots with the dock
> connected): no crashes or warnings.
>
> Thanks,
> Paweł
>
> wt., 22 wrz 2026 o 16:48 Paweł Frelek <pawel.frelek@gmail.com> napisał(a):
> >
> > Hi,
> >
> > I hit a NULL pointer dereference in tb_dp_dprx_work during reboot,
> > right after the dock was disconnected from the Thunderbolt bus.
> >
> > Hardware:
> > - Lenovo ThinkPad X13 Gen 3 AMD (21CNS15T00), BIOS R22ET81W (1.51)
> > - Lenovo ThinkPad Thunderbolt 4 Dock (40B0), external monitor over DP
> >
> > Kernel: 7.2.6-hardened1 (Arch linux-hardened), not tainted
> > Cmdline includes: thunderbolt.dprx_timeout=-1
> >
> > What happened:
> > The external DP monitor behind the dock did not come up at boot. I
> > unplugged and replugged the monitor's DP cable at the dock, without
> > success, then rebooted (the dock itself stayed connected). During
> > shutdown the dock was reported as disconnected and ~50 ms later the
> > pending DPRX work crashed:
> >
> > [ 140.825070] thunderbolt 0-2: device disconnected
> > [ 140.875648] BUG: kernel NULL pointer dereference, address: 000000000000032b
> > [ 140.877281] CPU: 8 UID: 0 PID: 125 Comm: kworker/u48:4 Not tainted
> > 7.2.6-hardened1-1-hardened #1 PREEMPT(full)
> > [ 140.877513] Hardware name: LENOVO 21CNS15T00/21CNS15T00, BIOS
> > R22ET81W (1.51 ) 04/10/2026
> > [ 140.877748] Workqueue: thunderbolt0 tb_dp_dprx_work [thunderbolt]
> > [ 140.878003] RIP: 0010:tb_dp_dprx_work+0x82/0x160 [thunderbolt]
> > [ 140.880927] Call Trace:
> > [ 140.881164] <TASK>
> > [ 140.881652] process_one_work+0x198/0x370
> > [ 140.881896] worker_thread+0x1a6/0x310
> > [ 140.882380] kthread+0xf3/0x130
> > [ 140.882863] ret_from_fork+0x2dc/0x3a0
> > [ 140.883818] ret_from_fork_asm+0x1a/0x30
> > [ 140.884065] </TASK>
> > [ 141.399331] Code: 24 20 48 8b 87 58 ff ff ff 48 8d b8 18 03 00 00
> > 49 89 c4 4c 8d b8 18 03 00 00 e8 39 ff db d3 48 8b 8b 60 ff ff ff 48
> > 8b 41 20 <0f> b6 90 2b 03 00 00 c0 ea 05 75 5d 66 81 b8 18 03 00 00 86
> > 80 74
> > [ 141.399974] RAX: 0000000000000000 RBX: ffff88ae1389c4b0 RCX: ffff88b040d53578
> > [ 141.400298] RDX: ffff88b0916f0000 RSI: ffff88ae1389c4b8 RDI: ffff88ae011a6318
> > [ 141.402844] Kernel panic - not syncing: Fatal exception
> >
> > It looks like the DPRX work is not cancelled when the device behind the
> > tunnel goes away. With dprx_timeout=-1 the work never expires, which
> > makes the window large, but I assume the race exists with the default
> > timeout too.
> >
> > I set dprx_timeout=-1 because the external monitors sometimes did not
> > come up at boot (DP tunnel torn down as "not active").
> >
> > Full pstore dmesg available on request.
> >
> > Thanks,
> > Paweł
> >
> > --
> > Paweł Frelek ( ͡° ͜ʖ ͡°)
> > pawel.frelek@gmail.com
>
>
>
> --
> Paweł Frelek ( ͡° ͜ʖ ͡°)
> pawel.frelek@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-09-25 5:29 ` Mika Westerberg
@ 2026-10-13 15:31 ` Paweł Frelek
2026-10-16 5:58 ` Mika Westerberg
0 siblings, 1 reply; 12+ messages in thread
From: Paweł Frelek @ 2026-10-13 15:31 UTC (permalink / raw)
To: Mika Westerberg; +Cc: westeri, linux-usb, andreas.noever, YehezkelShB
[-- Attachment #1: Type: text/plain, Size: 1587 bytes --]
Hi Mika,
Following up on my earlier report about the panic in tb_dp_dprx_work.
I now hit a different, reproducible problem: power-off hangs in
nhi_pci_remove. It happened three times in the last few days (Oct 10,
11, 12).
Hardware: Lenovo ThinkPad X13 Gen 3 AMD (21CNS15T00, BIOS R22ET81W
1.51), ThinkPad Thunderbolt 4 Dock (40B0), firmware up to date.
Kernel: 7.2.9-arch1-1 (Arch), cmdline includes thunderbolt.dprx_timeout=60000.
During shutdown the dock disconnects on its own a few seconds before power-off:
[24634.327865] pcieport 0000:00:04.1: pciehp: Slot(0): Link Down
[24634.327920] pcieport 0000:00:04.1: pciehp: Slot(0): Card not present
[24634.331648] thunderbolt 0-2: device disconnected
Then systemd reaches “Powering off” and the kernel hangs. With
kernel.hung_task_panic=1 I got this from pstore:
INFO: task shutdown:1 blocked for more than 122 seconds.
Tainted: G W 7.2.9-arch1-1 #1
task:shutdown state:D stack:0 pid:1 tgid:1 ppid:0
Call Trace:
__schedule+0x420/0x1770
schedule+0x27/0xa0
schedule_timeout+0xdc/0x120
wait_for_completion+0x9a/0x180
nhi_pci_remove+0x53/0x60 [thunderbolt]
pci_device_shutdown+0x3e/0x80
device_shutdown+0x169/0x1d0
kernel_power_off+0x35/0x80
__do_sys_reboot+0x1da/0x260
do_syscall_64+0xaa/0x660
entry_SYSCALL_64_after_hwframe+0x76/0x7e
Kernel panic - not syncing: hung_task: blocked tasks
The full pstore dmesg is attached. I can enable thunderbolt dynamic
debug or test patches if that helps.
Thanks,
Paweł Frelek
--
Paweł Frelek ( ͡° ͜ʖ ͡°)
pawel.frelek@gmail.com
[-- Attachment #2: dmesg.txt --]
[-- Type: text/plain, Size: 16506 bytes --]
Panic#1 Part10
<6>[24632.437095] [drm] MST_DSC Send DSC disable to synaptics
<6>[24632.735408] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.862292] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.891129] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.967513] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.973266] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.978300] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.984496] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.992772] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.998544] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24633.003518] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24633.009391] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24633.431687] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24633.655158] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24634.326452] usb 8-1: USB disconnect, device number 10
<6>[24634.326471] usb 8-1.1: USB disconnect, device number 11
<6>[24634.327865] pcieport 0000:00:04.1: pciehp: Slot(0): Link Down
<6>[24634.327870] amdgpu 0000:73:00.0: [drm] DMUB HPD IRQ callback: link_index=7
<6>[24634.327873] pcieport 0000:00:04.1: pciehp: Slot(0): Card not present
<6>[24634.327938] [drm] DM_MST: stopping TM on aconnector: 000000004f5eeb2e [id: 439]
<6>[24634.331648] thunderbolt 0-2: device disconnected
Panic#1 Part9
<6>[24634.340482] pci_bus 0000:05: busn_res: [bus 05] is released
<6>[24634.340773] pci_bus 0000:06: busn_res: [bus 06-29] is released
<6>[24634.341226] pci_bus 0000:2a: busn_res: [bus 2a-4d] is released
<6>[24634.341613] usb 8-1.2: USB disconnect, device number 12
<6>[24634.341618] pci_bus 0000:4e: busn_res: [bus 4e-71] is released
<6>[24634.342325] pci_bus 0000:72: busn_res: [bus 72] is released
<6>[24634.342674] pci_bus 0000:04: busn_res: [bus 04-72] is released
<6>[24634.352012] usb 9-1: USB disconnect, device number 6
<6>[24634.352021] usb 9-1.4: USB disconnect, device number 7
<6>[24634.352026] usb 9-1.4.4: USB disconnect, device number 8
<6>[24634.352031] r8152-cfgselector 9-1.4.4.3: USB disconnect, device number 9
<6>[24634.372901] r8152 9-1.4.4.3:1.0 eth0: Stop submitting intr, status -108
<6>[24634.374148] usb 8-1.4: USB disconnect, device number 13
<6>[24634.374154] usb 8-1.4.3: USB disconnect, device number 15
<6>[24634.533817] usb 8-1.4.4: USB disconnect, device number 14
<6>[24634.533828] usb 8-1.4.4.1: USB disconnect, device number 16
<4>[24634.539108] amdgpu 0000:73:00.0: [drm] REG_WAIT timeout 1us * 100 tries - dcn31_program_compbuf_size line:141
<6>[24634.664153] usb 8-1.4.4.4: USB disconnect, device number 18
<4>[24643.828278] kauditd_printk_skb: 6397 callbacks suppressed
<5>[24643.828284] audit: type=1400 audit(1791838024.538:76266): apparmor="ALLOWED" operation="exec" class="file" info="profile transition not found" error=-13 profile="containerd-shim-runc-v2" name="/usr/bin/runc" pid=45595 comm="containerd-shim" requested_mask="x" denied_mask="x" fsuid=0 ouid=0 target="containerd-shim-runc-v2//null-/usr/bin/runc"
Panic#1 Part8
<5>[24643.828325] audit: type=1400 audit(1791838024.538:76267): apparmor="ALLOWED" operation="file_inherit" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/dev/null" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24643.828371] audit: type=1400 audit(1791838024.538:76268): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/bin/runc" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24643.828428] audit: type=1400 audit(1791838024.538:76269): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/lib/ld-linux-x86-64.so.2" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24643.828542] audit: type=1400 audit(1791838024.538:76270): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24643.828554] audit: type=1400 audit(1791838024.538:76271): apparmor="ALLOWED" operation="open" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24643.828561] audit: type=1400 audit(1791838024.538:76272): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Panic#1 Part7
<5>[24643.828703] audit: type=1400 audit(1791838024.538:76273): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/opt/containerd/lib/" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24643.828734] audit: type=1400 audit(1791838024.538:76274): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24643.828759] audit: type=1400 audit(1791838024.538:76275): apparmor="ALLOWED" operation="open" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/lib/libseccomp.so.2.6.0" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<6>[24644.024287] wlan0: deauthenticating from 18:90:d8:a7:f6:ef by local choice (Reason: 3=DEAUTH_LEAVING)
<46>[24644.583785] systemd-journald[402]: Received client request to relinquish /var/log/journal/176c744b434d4ae49d4c488510daa3bc access.
<6>[24644.699027] zram0: detected capacity change from 15091712 to 0
<30>[24644.827761] systemd-shutdown[1]: Syncing filesystems and block devices.
<30>[24644.874636] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
<46>[24644.895180] systemd-journald[402]: Received SIGTERM from PID 1 (systemd-shutdow).
<30>[24644.920650] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
<30>[24644.940295] systemd-shutdown[1]: Unmounting file systems.
<30>[24644.943736] (sd-umount)[45667]: Unmounting '/run/credentials/systemd-journald.service'.
Panic#1 Part6
<30>[24644.945422] (sd-umount)[45668]: Unmounting '/run/credentials/@encrypted'.
<30>[24644.947034] (sd-remount)[45669]: Remounting '/' read-only with options 'compress=zstd:1,ssd,space_cache=v2,subvolid=256,subvol=/@'.
<30>[24645.016605] systemd-shutdown[1]: All filesystems unmounted.
<30>[24645.016621] systemd-shutdown[1]: Deactivating swaps.
<30>[24645.016705] systemd-shutdown[1]: All swaps deactivated.
<30>[24645.016714] systemd-shutdown[1]: Detaching loop devices.
<30>[24645.025936] systemd-shutdown[1]: All loop devices detached.
<30>[24645.025947] systemd-shutdown[1]: Stopping MD devices.
<30>[24645.026306] systemd-shutdown[1]: All MD devices stopped.
<30>[24645.026315] systemd-shutdown[1]: Detaching DM devices.
<30>[24645.027204] systemd-shutdown[1]: Not all DM devices detached, 1 left.
<30>[24645.027431] systemd-shutdown[1]: Detaching DM devices.
<30>[24645.028320] systemd-shutdown[1]: Not all DM devices detached, 1 left.
<30>[24645.028331] systemd-shutdown[1]: Cannot finalize remaining DM devices, continuing.
<30>[24645.784824] systemd-shutdown[1]: Successfully changed into root pivot.
<30>[24645.784836] systemd-shutdown[1]: Entering exitrd...
<30>[24645.795995] shutdown[1]: Syncing filesystems and block devices.
<30>[24645.796924] shutdown[1]: Sending SIGTERM to remaining processes...
<30>[24645.820163] shutdown[1]: Sending SIGKILL to remaining processes...
<30>[24645.841953] shutdown[1]: Unmounting file systems.
<30>[24645.845393] (sd-umoun[45680]: Unmounting '/run/credentials'.
<30>[24645.847133] (sd-umoun[45681]: Unmounting '/oldroot/dev/hugepages'.
<30>[24645.848759] (sd-umoun[45682]: Unmounting '/oldroot/sys/fs/fuse/connections'.
Panic#1 Part5
<30>[24645.850464] (sd-umoun[45683]: Unmounting '/oldroot/dev/mqueue'.
<30>[24645.852095] (sd-umoun[45684]: Unmounting '/oldroot/sys/kernel/config'.
<30>[24645.853678] (sd-umoun[45685]: Unmounting '/oldroot/sys/kernel/tracing'.
<30>[24645.855275] (sd-umoun[45686]: Unmounting '/oldroot/sys/kernel/debug'.
<30>[24645.856832] (sd-umoun[45687]: Unmounting '/oldroot/run'.
<30>[24645.858456] (sd-umoun[45688]: Unmounting '/oldroot/proc'.
<30>[24645.859969] (sd-umoun[45689]: Unmounting '/oldroot/sys/fs/bpf'.
<30>[24645.861552] (sd-umoun[45690]: Unmounting '/oldroot/sys/firmware/efi/efivars'.
<30>[24645.863144] (sd-umoun[45691]: Unmounting '/oldroot/sys/fs/pstore'.
<30>[24645.864714] (sd-umoun[45692]: Unmounting '/oldroot/sys/fs/cgroup'.
<30>[24645.866320] (sd-umoun[45693]: Unmounting '/oldroot/sys/kernel/security'.
<30>[24645.867900] (sd-umoun[45694]: Unmounting '/oldroot/sys'.
<30>[24645.869413] (sd-umoun[45695]: Unmounting '/oldroot/dev/pts'.
<30>[24645.870990] (sd-umoun[45696]: Unmounting '/oldroot/dev/shm'.
<30>[24645.872521] (sd-umoun[45697]: Unmounting '/oldroot/dev'.
<30>[24645.874085] (sd-umoun[45698]: Unmounting '/oldroot'.
<6>[24648.401132] BTRFS info (device dm-0): last unmount of filesystem c18f6e97-44f5-4800-bf73-79d39ac3d1e6
<4>[24649.020666] kauditd_printk_skb: 3270 callbacks suppressed
<5>[24649.020674] audit: type=1400 audit(1791838029.730:79546): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/1/mountinfo" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<30>[24649.021011] shutdown[1]: All filesystems unmounted.
Panic#1 Part4
<30>[24649.021383] shutdown[1]: Deactivating swaps.
<5>[24649.021444] audit: type=1400 audit(1791838029.730:79547): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/1/mountinfo" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<30>[24649.021455] shutdown[1]: All swaps deactivated.
<5>[24649.021456] audit: type=1400 audit(1791838029.731:79548): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/swaps" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<30>[24649.021463] shutdown[1]: Detaching loop devices.
<5>[24649.021464] audit: type=1400 audit(1791838029.731:79549): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/swaps" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24649.021557] audit: type=1400 audit(1791838029.731:79550): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/bus/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24649.021565] audit: type=1400 audit(1791838029.731:79551): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/bus/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24649.021674] audit: type=1400 audit(1791838029.731:79552): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Panic#1 Part3
<5>[24649.021687] audit: type=1400 audit(1791838029.731:79553): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24649.021749] audit: type=1400 audit(1791838029.731:79554): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/block/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24649.021755] audit: type=1400 audit(1791838029.731:79555): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/block/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<30>[24649.021916] shutdown[1]: All loop devices detached.
<30>[24649.021925] shutdown[1]: Stopping MD devices.
<30>[24649.022247] shutdown[1]: All MD devices stopped.
<30>[24649.022256] shutdown[1]: Detaching DM devices.
<30>[24649.023437] shutdown[1]: Detaching DM /dev/dm-0 (253:0).
<30>[24649.023926] shutdown[1]: Syncing /dev/dm-0.
<30>[24649.086155] shutdown[1]: All DM devices detached.
<30>[24649.086171] shutdown[1]: All filesystems, swaps, loop devices, MD devices and DM devices detached.
<30>[24649.086810] shutdown[1]: Syncing filesystems and block devices.
<30>[24649.088537] shutdown[1]: Powering off.
<3>[24823.915399] INFO: task shutdown:1 blocked for more than 122 seconds.
<3>[24823.916301] Tainted: G W 7.2.9-arch1-1 #1
<3>[24823.916901] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Panic#1 Part2
<6>[24823.917469] task:shutdown state:D stack:0 pid:1 tgid:1 ppid:0 task_flags:0x400100 flags:0x00080000
<6>[24823.918060] Call Trace:
<6>[24823.918739] <TASK>
<6>[24823.919306] __schedule+0x420/0x1770
<6>[24823.919858] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.920415] ? ilookup+0x7f/0xe0
<6>[24823.921008] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.921586] schedule+0x27/0xa0
<6>[24823.922149] schedule_timeout+0xdc/0x120
<6>[24823.922691] wait_for_completion+0x9a/0x180
<6>[24823.923265] nhi_pci_remove+0x53/0x60 [thunderbolt 5a53207a8682f9e034326c92a693ee76741e3f49]
<6>[24823.924013] pci_device_shutdown+0x3e/0x80
<6>[24823.924806] ? __pfx_pci_device_shutdown+0x10/0x10
<6>[24823.926121] device_shutdown+0x169/0x1d0
<6>[24823.927091] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.927681] kernel_power_off+0x35/0x80
<6>[24823.928258] __do_sys_reboot+0x1da/0x260
<6>[24823.928821] do_syscall_64+0xaa/0x660
<6>[24823.929376] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.929918] ? vfs_writev+0x1bf/0x3e0
<6>[24823.930481] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.931034] ? do_writev+0x95/0x150
<6>[24823.931572] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.932116] ? do_syscall_64+0xaa/0x660
<6>[24823.932647] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.933183] ? do_syscall_64+0xaa/0x660
<6>[24823.933712] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.934251] ? do_syscall_64+0xaa/0x660
<6>[24823.934778] ? srso_alias_return_thunk+0x5/0xfbef5
<6>[24823.935320] ? do_syscall_64+0x5f/0x660
<6>[24823.935846] ? srso_alias_return_thunk+0x5/0xfbef5
Panic#1 Part1
<6>[24823.936385] entry_SYSCALL_64_after_hwframe+0x76/0x7e
<6>[24823.936917] RIP: 0033:0x7fd2a7f1dc37
<6>[24823.937454] RSP: 002b:00007ffddf6f2eb8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a9
<6>[24823.938006] RAX: ffffffffffffffda RBX: 00007ffddf6f2f70 RCX: 00007fd2a7f1dc37
<6>[24823.938552] RDX: 000000004321fedc RSI: 0000000028121969 RDI: 00000000fee1dead
<6>[24823.939114] RBP: 00007ffddf6f3050 R08: 0000000000000000 R09: 0000000000000000
<6>[24823.939670] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
<6>[24823.940237] R13: 0000000000000000 R14: 0000000000000000 R15: 00007ffddf6f31b8
<6>[24823.940829] </TASK>
<0>[24823.941495] Kernel panic - not syncing: hung_task: blocked tasks
<4>[24823.941512] CPU: 6 UID: 0 PID: 95 Comm: khungtaskd Tainted: G W 7.2.9-arch1-1 #1 PREEMPT(full) 227f612332c55d5b5b0a0c054e4cd1f76a9a914f
<4>[24823.941537] Tainted: [W]=WARN
<4>[24823.941546] Hardware name: LENOVO 21CNS15T00/21CNS15T00, BIOS R22ET81W (1.51 ) 04/10/2026
<4>[24823.941559] Call Trace:
<4>[24823.941568] <TASK>
<4>[24823.941577] dump_stack_lvl+0x5d/0x80
<4>[24823.941596] vpanic+0x20a/0x410
<4>[24823.941613] panic+0x6b/0x70
<4>[24823.941629] watchdog.cold+0x1bb/0x2c5
<4>[24823.941651] ? __pfx_watchdog+0x10/0x10
<4>[24823.941668] kthread+0xe4/0x120
<4>[24823.941682] ? __pfx_kthread+0x10/0x10
<4>[24823.941697] ret_from_fork+0x2a7/0x330
<4>[24823.941713] ? __pfx_kthread+0x10/0x10
<4>[24823.941726] ret_from_fork_asm+0x1a/0x30
<4>[24823.941748] </TASK>
<0>[24823.942400] Kernel Offset: 0x15400000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[-- Attachment #3: dmesg.txt --]
[-- Type: text/plain, Size: 18830 bytes --]
Panic#1 Part22
<6>[20529.282074] usb 3-3: reset full-speed USB device number 2 using xhci_hcd
<5>[20533.371209] audit: type=1400 audit(1791833914.080:69796): apparmor="ALLOWED" operation="mknod" class="file" profile="bootctl" name="/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" pid=40732 comm="bootctl" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
<5>[20533.371219] audit: type=1400 audit(1791833914.080:69797): apparmor="ALLOWED" operation="open" class="file" profile="bootctl" name="/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" pid=40732 comm="bootctl" requested_mask="wc" denied_mask="wc" fsuid=0 ouid=0
<5>[20533.437381] audit: type=1400 audit(1791833914.147:69798): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=40751 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
<5>[20657.525024] audit: type=1400 audit(1791834038.234:69799): apparmor="ALLOWED" operation="mkdir" class="file" profile="kioworker" name="/var/cache/samba/" pid=41101 comm="kioworker" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
<5>[20657.775909] audit: type=1400 audit(1791834038.485:69800): apparmor="ALLOWED" operation="mkdir" class="file" profile="kioworker" name="/var/cache/samba/" pid=41101 comm="kioworker" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
<5>[20667.566466] audit: type=1400 audit(1791834048.276:69801): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
Panic#1 Part21
<5>[20721.797466] audit: type=1400 audit(1791834102.507:69802): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[20977.808173] audit: type=1400 audit(1791834358.517:69803): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[21028.650276] audit: type=1400 audit(1791834409.359:69804): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[21087.593680] audit: type=1400 audit(1791834468.303:69805): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=41378 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
<5>[21126.783753] audit: type=1400 audit(1791834507.493:69806): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=41460 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
<5>[21278.080263] audit: type=1400 audit(1791834658.790:69807): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[21335.585948] audit: type=1400 audit(1791834716.295:69808): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
Panic#1 Part20
<5>[21588.315787] audit: type=1400 audit(1791834969.025:69809): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[21642.349179] audit: type=1400 audit(1791835023.058:69810): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[21656.520102] audit: type=1400 audit(1791835037.229:69811): apparmor="ALLOWED" operation="file_inherit" class="file" profile="checkupdates" name="/dev/rfkill" pid=41653 comm="checkupdates" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
<5>[21656.524375] audit: type=1400 audit(1791835037.234:69812): apparmor="ALLOWED" operation="file_inherit" class="file" profile="pacman-conf" name="/dev/rfkill" pid=41655 comm="pacman-conf" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
<5>[21656.547094] audit: type=1400 audit(1791835037.256:69813): apparmor="ALLOWED" operation="file_inherit" class="file" profile="checkupdates//fakeroot" name="/dev/rfkill" pid=41658 comm="fakeroot" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
<5>[21656.564130] audit: type=1400 audit(1791835037.273:69814): apparmor="ALLOWED" operation="file_inherit" class="file" profile="pacman" name="/dev/rfkill" pid=41673 comm="pacman" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
<5>[21888.576948] audit: type=1400 audit(1791835269.286:69815): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
Panic#1 Part19
<5>[21949.052231] audit: type=1400 audit(1791835329.762:69816): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[22198.763898] audit: type=1400 audit(1791835579.473:69817): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[22255.958078] audit: type=1400 audit(1791835636.667:69818): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[22261.963850] audit: type=1400 audit(1791835642.673:69819): apparmor="ALLOWED" operation="unlink" class="file" profile="checkupdates" name="/tmp/checkup-db-1000/db.lck" pid=41843 comm="rm" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
<5>[22509.044662] audit: type=1400 audit(1791835889.754:69820): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[22555.427096] audit: type=1400 audit(1791835936.136:69821): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=41915 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
<5>[22562.760122] audit: type=1400 audit(1791835943.469:69822): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
Panic#1 Part18
<5>[22809.331374] audit: type=1400 audit(1791836190.041:69823): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23019.474266] audit: type=1400 audit(1791836400.184:69824): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23059.500936] audit: type=1400 audit(1791836440.210:69825): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23125.496731] audit: type=1400 audit(1791836506.206:69826): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23251.129663] audit: type=1400 audit(1791836631.839:69827): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=42164 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
<5>[23257.018032] audit: type=1400 audit(1791836637.727:69828): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23303.738382] audit: type=1400 audit(1791836684.448:69829): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=42248 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Panic#1 Part17
<5>[23318.250806] audit: type=1400 audit(1791836698.960:69830): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23346.144340] audit: type=1400 audit(1791836726.854:69831): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=42316 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
<5>[23509.910984] audit: type=1400 audit(1791836890.620:69832): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23569.928929] audit: type=1400 audit(1791836950.638:69833): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23635.974406] audit: type=1400 audit(1791837016.684:69834): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23756.323429] audit: type=1400 audit(1791837137.033:69835): apparmor="ALLOWED" operation="mknod" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/AC97A01AEDBFBE92F83C9FF67C348D32" pid=5495 comm="mpv" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
Panic#1 Part16
<5>[23756.330378] audit: type=1400 audit(1791837137.040:69836): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/AC97A01AEDBFBE92F83C9FF67C348D32" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
<5>[23756.331158] audit: type=1400 audit(1791837137.041:69837): apparmor="ALLOWED" operation="mknod" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/A626D6E7CF28CDFFFFAB450BA0007AAB" pid=5495 comm="mpv" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
<5>[23756.331224] audit: type=1400 audit(1791837137.041:69838): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/A626D6E7CF28CDFFFFAB450BA0007AAB" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
<5>[23756.331291] audit: type=1400 audit(1791837137.041:69839): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/4A0AB97538013C30CF703C450CC823B3" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
<5>[23756.331299] audit: type=1400 audit(1791837137.041:69840): apparmor="ALLOWED" operation="truncate" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/4A0AB97538013C30CF703C450CC823B3" pid=5495 comm="mpv" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
Panic#1 Part15
<5>[23756.331529] audit: type=1400 audit(1791837137.041:69841): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/0AB6BB4899AFEF25D595B64F673B7A2D" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
<5>[23756.331537] audit: type=1400 audit(1791837137.041:69842): apparmor="ALLOWED" operation="truncate" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/0AB6BB4899AFEF25D595B64F673B7A2D" pid=5495 comm="mpv" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
<5>[23756.331635] audit: type=1400 audit(1791837137.041:69843): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/214E41144E86164FF1F77E942E8F9220" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
<5>[23756.331640] audit: type=1400 audit(1791837137.041:69844): apparmor="ALLOWED" operation="truncate" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/214E41144E86164FF1F77E942E8F9220" pid=5495 comm="mpv" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
<4>[23772.477322] kauditd_printk_skb: 2 callbacks suppressed
<5>[23772.477328] audit: type=1400 audit(1791837153.187:69847): apparmor="ALLOWED" operation="open" class="file" profile="systemd-logind" name="/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" pid=1762 comm="systemd-logind" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Panic#1 Part14
<5>[23880.192628] audit: type=1400 audit(1791837260.902:69848): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23941.434053] audit: type=1400 audit(1791837322.143:69849): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[23991.133553] audit: type=1400 audit(1791837371.843:69850): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[24027.992332] audit: type=1400 audit(1791837408.702:69851): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[24062.777736] audit: type=1400 audit(1791837443.487:69852): apparmor="ALLOWED" operation="unlink" class="file" profile="checkupdates" name="/tmp/checkup-db-1000/db.lck" pid=43599 comm="rm" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
<5>[24138.702943] audit: type=1400 audit(1791837519.412:69853): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
Panic#1 Part13
<5>[24190.459031] audit: type=1400 audit(1791837571.168:69854): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[24460.694613] audit: type=1400 audit(1791837841.404:69855): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[24540.707147] audit: type=1400 audit(1791837921.417:69856): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[24610.728663] audit: type=1400 audit(1791837991.438:69857): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
<5>[24626.505435] audit: type=1400 audit(1791838007.215:69858): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=44913 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
<5>[24631.742881] audit: type=1400 audit(1791838012.452:69859): apparmor="ALLOWED" operation="open" class="file" profile="tlp" name="/sys/devices/pci0000:00/0000:00:14.3/PNP0C09:00/ACPI0003:00/power_supply/AC/type" pid=45130 comm="cat" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Panic#1 Part12
<5>[24631.745509] audit: type=1400 audit(1791838012.455:69860): apparmor="ALLOWED" operation="open" class="file" profile="tlp" name="/sys/devices/pci0000:00/0000:00:14.3/PNP0C09:00/ACPI0003:00/power_supply/AC/online" pid=45135 comm="cat" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24631.785235] audit: type=1400 audit(1791838012.495:69861): apparmor="ALLOWED" operation="exec" class="file" info="profile transition not found" error=-13 profile="containerd-shim-runc-v2" name="/usr/bin/runc" pid=45184 comm="containerd-shim" requested_mask="x" denied_mask="x" fsuid=0 ouid=0 target="containerd-shim-runc-v2//null-/usr/bin/runc"
<5>[24631.785991] audit: type=1400 audit(1791838012.495:69862): apparmor="ALLOWED" operation="file_inherit" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/dev/null" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24631.786139] audit: type=1400 audit(1791838012.496:69863): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/bin/runc" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24631.788393] audit: type=1400 audit(1791838012.498:69864): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/lib/ld-linux-x86-64.so.2" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Panic#1 Part11
<5>[24631.788512] audit: type=1400 audit(1791838012.498:69865): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24631.788521] audit: type=1400 audit(1791838012.498:69866): apparmor="ALLOWED" operation="open" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24631.788542] audit: type=1400 audit(1791838012.498:69867): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<5>[24631.790148] audit: type=1400 audit(1791838012.499:69868): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/opt/containerd/lib/" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
<6>[24632.206356] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.212502] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.217318] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.222212] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.311807] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
<6>[24632.422399] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-13 15:31 ` Paweł Frelek
@ 2026-10-16 5:58 ` Mika Westerberg
2026-10-16 16:55 ` Paweł Frelek
0 siblings, 1 reply; 12+ messages in thread
From: Mika Westerberg @ 2026-10-16 5:58 UTC (permalink / raw)
To: Paweł Frelek
Cc: westeri, linux-usb, andreas.noever, YehezkelShB, Sanath S,
Basavaraj Natikar, Mario Limonciello
Hi,
On Tue, Oct 13, 2026 at 05:31:30PM +0200, Paweł Frelek wrote:
> Hi Mika,
>
> Following up on my earlier report about the panic in tb_dp_dprx_work.
> I now hit a different, reproducible problem: power-off hangs in
> nhi_pci_remove. It happened three times in the last few days (Oct 10,
> 11, 12).
>
> Hardware: Lenovo ThinkPad X13 Gen 3 AMD (21CNS15T00, BIOS R22ET81W
> 1.51), ThinkPad Thunderbolt 4 Dock (40B0), firmware up to date.
> Kernel: 7.2.9-arch1-1 (Arch), cmdline includes thunderbolt.dprx_timeout=60000.
>
> During shutdown the dock disconnects on its own a few seconds before power-off:
>
> [24634.327865] pcieport 0000:00:04.1: pciehp: Slot(0): Link Down
> [24634.327920] pcieport 0000:00:04.1: pciehp: Slot(0): Card not present
> [24634.331648] thunderbolt 0-2: device disconnected
>
> Then systemd reaches “Powering off” and the kernel hangs. With
> kernel.hung_task_panic=1 I got this from pstore:
>
> INFO: task shutdown:1 blocked for more than 122 seconds.
> Tainted: G W 7.2.9-arch1-1 #1
> task:shutdown state:D stack:0 pid:1 tgid:1 ppid:0
> Call Trace:
> __schedule+0x420/0x1770
> schedule+0x27/0xa0
> schedule_timeout+0xdc/0x120
> wait_for_completion+0x9a/0x180
> nhi_pci_remove+0x53/0x60 [thunderbolt]
> pci_device_shutdown+0x3e/0x80
> device_shutdown+0x169/0x1d0
> kernel_power_off+0x35/0x80
> __do_sys_reboot+0x1da/0x260
> do_syscall_64+0xaa/0x660
> entry_SYSCALL_64_after_hwframe+0x76/0x7e
> Kernel panic - not syncing: hung_task: blocked tasks
Okay something is still holding the domain reference.
> The full pstore dmesg is attached. I can enable thunderbolt dynamic
> debug or test patches if that helps.
Yes please. Also drop the dprx_timeout= if you don't need it (you should
not). I'm adding AMD folks here too just in case.
> Thanks,
> Paweł Frelek
>
>
> --
> Paweł Frelek ( ͡° ͜ʖ ͡°)
> pawel.frelek@gmail.com
> Panic#1 Part10
> <6>[24632.437095] [drm] MST_DSC Send DSC disable to synaptics
> <6>[24632.735408] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.862292] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.891129] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.967513] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.973266] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.978300] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.984496] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.992772] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.998544] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24633.003518] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24633.009391] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24633.431687] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24633.655158] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24634.326452] usb 8-1: USB disconnect, device number 10
> <6>[24634.326471] usb 8-1.1: USB disconnect, device number 11
> <6>[24634.327865] pcieport 0000:00:04.1: pciehp: Slot(0): Link Down
> <6>[24634.327870] amdgpu 0000:73:00.0: [drm] DMUB HPD IRQ callback: link_index=7
> <6>[24634.327873] pcieport 0000:00:04.1: pciehp: Slot(0): Card not present
> <6>[24634.327938] [drm] DM_MST: stopping TM on aconnector: 000000004f5eeb2e [id: 439]
> <6>[24634.331648] thunderbolt 0-2: device disconnected
> Panic#1 Part9
> <6>[24634.340482] pci_bus 0000:05: busn_res: [bus 05] is released
> <6>[24634.340773] pci_bus 0000:06: busn_res: [bus 06-29] is released
> <6>[24634.341226] pci_bus 0000:2a: busn_res: [bus 2a-4d] is released
> <6>[24634.341613] usb 8-1.2: USB disconnect, device number 12
> <6>[24634.341618] pci_bus 0000:4e: busn_res: [bus 4e-71] is released
> <6>[24634.342325] pci_bus 0000:72: busn_res: [bus 72] is released
> <6>[24634.342674] pci_bus 0000:04: busn_res: [bus 04-72] is released
> <6>[24634.352012] usb 9-1: USB disconnect, device number 6
> <6>[24634.352021] usb 9-1.4: USB disconnect, device number 7
> <6>[24634.352026] usb 9-1.4.4: USB disconnect, device number 8
> <6>[24634.352031] r8152-cfgselector 9-1.4.4.3: USB disconnect, device number 9
> <6>[24634.372901] r8152 9-1.4.4.3:1.0 eth0: Stop submitting intr, status -108
> <6>[24634.374148] usb 8-1.4: USB disconnect, device number 13
> <6>[24634.374154] usb 8-1.4.3: USB disconnect, device number 15
> <6>[24634.533817] usb 8-1.4.4: USB disconnect, device number 14
> <6>[24634.533828] usb 8-1.4.4.1: USB disconnect, device number 16
> <4>[24634.539108] amdgpu 0000:73:00.0: [drm] REG_WAIT timeout 1us * 100 tries - dcn31_program_compbuf_size line:141
> <6>[24634.664153] usb 8-1.4.4.4: USB disconnect, device number 18
> <4>[24643.828278] kauditd_printk_skb: 6397 callbacks suppressed
> <5>[24643.828284] audit: type=1400 audit(1791838024.538:76266): apparmor="ALLOWED" operation="exec" class="file" info="profile transition not found" error=-13 profile="containerd-shim-runc-v2" name="/usr/bin/runc" pid=45595 comm="containerd-shim" requested_mask="x" denied_mask="x" fsuid=0 ouid=0 target="containerd-shim-runc-v2//null-/usr/bin/runc"
> Panic#1 Part8
> <5>[24643.828325] audit: type=1400 audit(1791838024.538:76267): apparmor="ALLOWED" operation="file_inherit" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/dev/null" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24643.828371] audit: type=1400 audit(1791838024.538:76268): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/bin/runc" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24643.828428] audit: type=1400 audit(1791838024.538:76269): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/lib/ld-linux-x86-64.so.2" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24643.828542] audit: type=1400 audit(1791838024.538:76270): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24643.828554] audit: type=1400 audit(1791838024.538:76271): apparmor="ALLOWED" operation="open" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24643.828561] audit: type=1400 audit(1791838024.538:76272): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> Panic#1 Part7
> <5>[24643.828703] audit: type=1400 audit(1791838024.538:76273): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/opt/containerd/lib/" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24643.828734] audit: type=1400 audit(1791838024.538:76274): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24643.828759] audit: type=1400 audit(1791838024.538:76275): apparmor="ALLOWED" operation="open" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/lib/libseccomp.so.2.6.0" pid=45595 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <6>[24644.024287] wlan0: deauthenticating from 18:90:d8:a7:f6:ef by local choice (Reason: 3=DEAUTH_LEAVING)
> <46>[24644.583785] systemd-journald[402]: Received client request to relinquish /var/log/journal/176c744b434d4ae49d4c488510daa3bc access.
> <6>[24644.699027] zram0: detected capacity change from 15091712 to 0
> <30>[24644.827761] systemd-shutdown[1]: Syncing filesystems and block devices.
> <30>[24644.874636] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
> <46>[24644.895180] systemd-journald[402]: Received SIGTERM from PID 1 (systemd-shutdow).
> <30>[24644.920650] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
> <30>[24644.940295] systemd-shutdown[1]: Unmounting file systems.
> <30>[24644.943736] (sd-umount)[45667]: Unmounting '/run/credentials/systemd-journald.service'.
> Panic#1 Part6
> <30>[24644.945422] (sd-umount)[45668]: Unmounting '/run/credentials/@encrypted'.
> <30>[24644.947034] (sd-remount)[45669]: Remounting '/' read-only with options 'compress=zstd:1,ssd,space_cache=v2,subvolid=256,subvol=/@'.
> <30>[24645.016605] systemd-shutdown[1]: All filesystems unmounted.
> <30>[24645.016621] systemd-shutdown[1]: Deactivating swaps.
> <30>[24645.016705] systemd-shutdown[1]: All swaps deactivated.
> <30>[24645.016714] systemd-shutdown[1]: Detaching loop devices.
> <30>[24645.025936] systemd-shutdown[1]: All loop devices detached.
> <30>[24645.025947] systemd-shutdown[1]: Stopping MD devices.
> <30>[24645.026306] systemd-shutdown[1]: All MD devices stopped.
> <30>[24645.026315] systemd-shutdown[1]: Detaching DM devices.
> <30>[24645.027204] systemd-shutdown[1]: Not all DM devices detached, 1 left.
> <30>[24645.027431] systemd-shutdown[1]: Detaching DM devices.
> <30>[24645.028320] systemd-shutdown[1]: Not all DM devices detached, 1 left.
> <30>[24645.028331] systemd-shutdown[1]: Cannot finalize remaining DM devices, continuing.
> <30>[24645.784824] systemd-shutdown[1]: Successfully changed into root pivot.
> <30>[24645.784836] systemd-shutdown[1]: Entering exitrd...
> <30>[24645.795995] shutdown[1]: Syncing filesystems and block devices.
> <30>[24645.796924] shutdown[1]: Sending SIGTERM to remaining processes...
> <30>[24645.820163] shutdown[1]: Sending SIGKILL to remaining processes...
> <30>[24645.841953] shutdown[1]: Unmounting file systems.
> <30>[24645.845393] (sd-umoun[45680]: Unmounting '/run/credentials'.
> <30>[24645.847133] (sd-umoun[45681]: Unmounting '/oldroot/dev/hugepages'.
> <30>[24645.848759] (sd-umoun[45682]: Unmounting '/oldroot/sys/fs/fuse/connections'.
> Panic#1 Part5
> <30>[24645.850464] (sd-umoun[45683]: Unmounting '/oldroot/dev/mqueue'.
> <30>[24645.852095] (sd-umoun[45684]: Unmounting '/oldroot/sys/kernel/config'.
> <30>[24645.853678] (sd-umoun[45685]: Unmounting '/oldroot/sys/kernel/tracing'.
> <30>[24645.855275] (sd-umoun[45686]: Unmounting '/oldroot/sys/kernel/debug'.
> <30>[24645.856832] (sd-umoun[45687]: Unmounting '/oldroot/run'.
> <30>[24645.858456] (sd-umoun[45688]: Unmounting '/oldroot/proc'.
> <30>[24645.859969] (sd-umoun[45689]: Unmounting '/oldroot/sys/fs/bpf'.
> <30>[24645.861552] (sd-umoun[45690]: Unmounting '/oldroot/sys/firmware/efi/efivars'.
> <30>[24645.863144] (sd-umoun[45691]: Unmounting '/oldroot/sys/fs/pstore'.
> <30>[24645.864714] (sd-umoun[45692]: Unmounting '/oldroot/sys/fs/cgroup'.
> <30>[24645.866320] (sd-umoun[45693]: Unmounting '/oldroot/sys/kernel/security'.
> <30>[24645.867900] (sd-umoun[45694]: Unmounting '/oldroot/sys'.
> <30>[24645.869413] (sd-umoun[45695]: Unmounting '/oldroot/dev/pts'.
> <30>[24645.870990] (sd-umoun[45696]: Unmounting '/oldroot/dev/shm'.
> <30>[24645.872521] (sd-umoun[45697]: Unmounting '/oldroot/dev'.
> <30>[24645.874085] (sd-umoun[45698]: Unmounting '/oldroot'.
> <6>[24648.401132] BTRFS info (device dm-0): last unmount of filesystem c18f6e97-44f5-4800-bf73-79d39ac3d1e6
> <4>[24649.020666] kauditd_printk_skb: 3270 callbacks suppressed
> <5>[24649.020674] audit: type=1400 audit(1791838029.730:79546): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/1/mountinfo" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <30>[24649.021011] shutdown[1]: All filesystems unmounted.
> Panic#1 Part4
> <30>[24649.021383] shutdown[1]: Deactivating swaps.
> <5>[24649.021444] audit: type=1400 audit(1791838029.730:79547): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/1/mountinfo" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <30>[24649.021455] shutdown[1]: All swaps deactivated.
> <5>[24649.021456] audit: type=1400 audit(1791838029.731:79548): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/swaps" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <30>[24649.021463] shutdown[1]: Detaching loop devices.
> <5>[24649.021464] audit: type=1400 audit(1791838029.731:79549): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/proc/swaps" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24649.021557] audit: type=1400 audit(1791838029.731:79550): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/bus/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24649.021565] audit: type=1400 audit(1791838029.731:79551): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/bus/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24649.021674] audit: type=1400 audit(1791838029.731:79552): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> Panic#1 Part3
> <5>[24649.021687] audit: type=1400 audit(1791838029.731:79553): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24649.021749] audit: type=1400 audit(1791838029.731:79554): apparmor="ALLOWED" operation="open" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/block/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24649.021755] audit: type=1400 audit(1791838029.731:79555): apparmor="ALLOWED" operation="getattr" class="file" profile="systemd-shutdown//null-/shutdown" name="/sys/class/block/" pid=1 comm="shutdown" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <30>[24649.021916] shutdown[1]: All loop devices detached.
> <30>[24649.021925] shutdown[1]: Stopping MD devices.
> <30>[24649.022247] shutdown[1]: All MD devices stopped.
> <30>[24649.022256] shutdown[1]: Detaching DM devices.
> <30>[24649.023437] shutdown[1]: Detaching DM /dev/dm-0 (253:0).
> <30>[24649.023926] shutdown[1]: Syncing /dev/dm-0.
> <30>[24649.086155] shutdown[1]: All DM devices detached.
> <30>[24649.086171] shutdown[1]: All filesystems, swaps, loop devices, MD devices and DM devices detached.
> <30>[24649.086810] shutdown[1]: Syncing filesystems and block devices.
> <30>[24649.088537] shutdown[1]: Powering off.
> <3>[24823.915399] INFO: task shutdown:1 blocked for more than 122 seconds.
> <3>[24823.916301] Tainted: G W 7.2.9-arch1-1 #1
> <3>[24823.916901] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> Panic#1 Part2
> <6>[24823.917469] task:shutdown state:D stack:0 pid:1 tgid:1 ppid:0 task_flags:0x400100 flags:0x00080000
> <6>[24823.918060] Call Trace:
> <6>[24823.918739] <TASK>
> <6>[24823.919306] __schedule+0x420/0x1770
> <6>[24823.919858] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.920415] ? ilookup+0x7f/0xe0
> <6>[24823.921008] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.921586] schedule+0x27/0xa0
> <6>[24823.922149] schedule_timeout+0xdc/0x120
> <6>[24823.922691] wait_for_completion+0x9a/0x180
> <6>[24823.923265] nhi_pci_remove+0x53/0x60 [thunderbolt 5a53207a8682f9e034326c92a693ee76741e3f49]
> <6>[24823.924013] pci_device_shutdown+0x3e/0x80
> <6>[24823.924806] ? __pfx_pci_device_shutdown+0x10/0x10
> <6>[24823.926121] device_shutdown+0x169/0x1d0
> <6>[24823.927091] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.927681] kernel_power_off+0x35/0x80
> <6>[24823.928258] __do_sys_reboot+0x1da/0x260
> <6>[24823.928821] do_syscall_64+0xaa/0x660
> <6>[24823.929376] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.929918] ? vfs_writev+0x1bf/0x3e0
> <6>[24823.930481] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.931034] ? do_writev+0x95/0x150
> <6>[24823.931572] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.932116] ? do_syscall_64+0xaa/0x660
> <6>[24823.932647] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.933183] ? do_syscall_64+0xaa/0x660
> <6>[24823.933712] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.934251] ? do_syscall_64+0xaa/0x660
> <6>[24823.934778] ? srso_alias_return_thunk+0x5/0xfbef5
> <6>[24823.935320] ? do_syscall_64+0x5f/0x660
> <6>[24823.935846] ? srso_alias_return_thunk+0x5/0xfbef5
> Panic#1 Part1
> <6>[24823.936385] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> <6>[24823.936917] RIP: 0033:0x7fd2a7f1dc37
> <6>[24823.937454] RSP: 002b:00007ffddf6f2eb8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a9
> <6>[24823.938006] RAX: ffffffffffffffda RBX: 00007ffddf6f2f70 RCX: 00007fd2a7f1dc37
> <6>[24823.938552] RDX: 000000004321fedc RSI: 0000000028121969 RDI: 00000000fee1dead
> <6>[24823.939114] RBP: 00007ffddf6f3050 R08: 0000000000000000 R09: 0000000000000000
> <6>[24823.939670] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> <6>[24823.940237] R13: 0000000000000000 R14: 0000000000000000 R15: 00007ffddf6f31b8
> <6>[24823.940829] </TASK>
> <0>[24823.941495] Kernel panic - not syncing: hung_task: blocked tasks
> <4>[24823.941512] CPU: 6 UID: 0 PID: 95 Comm: khungtaskd Tainted: G W 7.2.9-arch1-1 #1 PREEMPT(full) 227f612332c55d5b5b0a0c054e4cd1f76a9a914f
> <4>[24823.941537] Tainted: [W]=WARN
> <4>[24823.941546] Hardware name: LENOVO 21CNS15T00/21CNS15T00, BIOS R22ET81W (1.51 ) 04/10/2026
> <4>[24823.941559] Call Trace:
> <4>[24823.941568] <TASK>
> <4>[24823.941577] dump_stack_lvl+0x5d/0x80
> <4>[24823.941596] vpanic+0x20a/0x410
> <4>[24823.941613] panic+0x6b/0x70
> <4>[24823.941629] watchdog.cold+0x1bb/0x2c5
> <4>[24823.941651] ? __pfx_watchdog+0x10/0x10
> <4>[24823.941668] kthread+0xe4/0x120
> <4>[24823.941682] ? __pfx_kthread+0x10/0x10
> <4>[24823.941697] ret_from_fork+0x2a7/0x330
> <4>[24823.941713] ? __pfx_kthread+0x10/0x10
> <4>[24823.941726] ret_from_fork_asm+0x1a/0x30
> <4>[24823.941748] </TASK>
> <0>[24823.942400] Kernel Offset: 0x15400000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
> Panic#1 Part22
> <6>[20529.282074] usb 3-3: reset full-speed USB device number 2 using xhci_hcd
> <5>[20533.371209] audit: type=1400 audit(1791833914.080:69796): apparmor="ALLOWED" operation="mknod" class="file" profile="bootctl" name="/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" pid=40732 comm="bootctl" requested_mask="c" denied_mask="c" fsuid=0 ouid=0
> <5>[20533.371219] audit: type=1400 audit(1791833914.080:69797): apparmor="ALLOWED" operation="open" class="file" profile="bootctl" name="/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" pid=40732 comm="bootctl" requested_mask="wc" denied_mask="wc" fsuid=0 ouid=0
> <5>[20533.437381] audit: type=1400 audit(1791833914.147:69798): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=40751 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> <5>[20657.525024] audit: type=1400 audit(1791834038.234:69799): apparmor="ALLOWED" operation="mkdir" class="file" profile="kioworker" name="/var/cache/samba/" pid=41101 comm="kioworker" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
> <5>[20657.775909] audit: type=1400 audit(1791834038.485:69800): apparmor="ALLOWED" operation="mkdir" class="file" profile="kioworker" name="/var/cache/samba/" pid=41101 comm="kioworker" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
> <5>[20667.566466] audit: type=1400 audit(1791834048.276:69801): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> Panic#1 Part21
> <5>[20721.797466] audit: type=1400 audit(1791834102.507:69802): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[20977.808173] audit: type=1400 audit(1791834358.517:69803): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[21028.650276] audit: type=1400 audit(1791834409.359:69804): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[21087.593680] audit: type=1400 audit(1791834468.303:69805): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=41378 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> <5>[21126.783753] audit: type=1400 audit(1791834507.493:69806): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=41460 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> <5>[21278.080263] audit: type=1400 audit(1791834658.790:69807): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[21335.585948] audit: type=1400 audit(1791834716.295:69808): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> Panic#1 Part20
> <5>[21588.315787] audit: type=1400 audit(1791834969.025:69809): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[21642.349179] audit: type=1400 audit(1791835023.058:69810): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[21656.520102] audit: type=1400 audit(1791835037.229:69811): apparmor="ALLOWED" operation="file_inherit" class="file" profile="checkupdates" name="/dev/rfkill" pid=41653 comm="checkupdates" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
> <5>[21656.524375] audit: type=1400 audit(1791835037.234:69812): apparmor="ALLOWED" operation="file_inherit" class="file" profile="pacman-conf" name="/dev/rfkill" pid=41655 comm="pacman-conf" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
> <5>[21656.547094] audit: type=1400 audit(1791835037.256:69813): apparmor="ALLOWED" operation="file_inherit" class="file" profile="checkupdates//fakeroot" name="/dev/rfkill" pid=41658 comm="fakeroot" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
> <5>[21656.564130] audit: type=1400 audit(1791835037.273:69814): apparmor="ALLOWED" operation="file_inherit" class="file" profile="pacman" name="/dev/rfkill" pid=41673 comm="pacman" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
> <5>[21888.576948] audit: type=1400 audit(1791835269.286:69815): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> Panic#1 Part19
> <5>[21949.052231] audit: type=1400 audit(1791835329.762:69816): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[22198.763898] audit: type=1400 audit(1791835579.473:69817): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[22255.958078] audit: type=1400 audit(1791835636.667:69818): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[22261.963850] audit: type=1400 audit(1791835642.673:69819): apparmor="ALLOWED" operation="unlink" class="file" profile="checkupdates" name="/tmp/checkup-db-1000/db.lck" pid=41843 comm="rm" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
> <5>[22509.044662] audit: type=1400 audit(1791835889.754:69820): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[22555.427096] audit: type=1400 audit(1791835936.136:69821): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=41915 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> <5>[22562.760122] audit: type=1400 audit(1791835943.469:69822): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> Panic#1 Part18
> <5>[22809.331374] audit: type=1400 audit(1791836190.041:69823): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23019.474266] audit: type=1400 audit(1791836400.184:69824): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23059.500936] audit: type=1400 audit(1791836440.210:69825): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23125.496731] audit: type=1400 audit(1791836506.206:69826): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23251.129663] audit: type=1400 audit(1791836631.839:69827): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=42164 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> <5>[23257.018032] audit: type=1400 audit(1791836637.727:69828): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23303.738382] audit: type=1400 audit(1791836684.448:69829): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=42248 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> Panic#1 Part17
> <5>[23318.250806] audit: type=1400 audit(1791836698.960:69830): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23346.144340] audit: type=1400 audit(1791836726.854:69831): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=42316 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> <5>[23509.910984] audit: type=1400 audit(1791836890.620:69832): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23569.928929] audit: type=1400 audit(1791836950.638:69833): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23635.974406] audit: type=1400 audit(1791837016.684:69834): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23756.323429] audit: type=1400 audit(1791837137.033:69835): apparmor="ALLOWED" operation="mknod" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/AC97A01AEDBFBE92F83C9FF67C348D32" pid=5495 comm="mpv" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
> Panic#1 Part16
> <5>[23756.330378] audit: type=1400 audit(1791837137.040:69836): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/AC97A01AEDBFBE92F83C9FF67C348D32" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
> <5>[23756.331158] audit: type=1400 audit(1791837137.041:69837): apparmor="ALLOWED" operation="mknod" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/A626D6E7CF28CDFFFFAB450BA0007AAB" pid=5495 comm="mpv" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
> <5>[23756.331224] audit: type=1400 audit(1791837137.041:69838): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/A626D6E7CF28CDFFFFAB450BA0007AAB" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
> <5>[23756.331291] audit: type=1400 audit(1791837137.041:69839): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/4A0AB97538013C30CF703C450CC823B3" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
> <5>[23756.331299] audit: type=1400 audit(1791837137.041:69840): apparmor="ALLOWED" operation="truncate" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/4A0AB97538013C30CF703C450CC823B3" pid=5495 comm="mpv" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
> Panic#1 Part15
> <5>[23756.331529] audit: type=1400 audit(1791837137.041:69841): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/0AB6BB4899AFEF25D595B64F673B7A2D" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
> <5>[23756.331537] audit: type=1400 audit(1791837137.041:69842): apparmor="ALLOWED" operation="truncate" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/0AB6BB4899AFEF25D595B64F673B7A2D" pid=5495 comm="mpv" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
> <5>[23756.331635] audit: type=1400 audit(1791837137.041:69843): apparmor="ALLOWED" operation="open" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/214E41144E86164FF1F77E942E8F9220" pid=5495 comm="mpv" requested_mask="wc" denied_mask="wc" fsuid=1000 ouid=1000
> <5>[23756.331640] audit: type=1400 audit(1791837137.041:69844): apparmor="ALLOWED" operation="truncate" class="file" profile="mpv" name="/home/nidh0gg/.local/state/mpv/watch_later/214E41144E86164FF1F77E942E8F9220" pid=5495 comm="mpv" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
> <4>[23772.477322] kauditd_printk_skb: 2 callbacks suppressed
> <5>[23772.477328] audit: type=1400 audit(1791837153.187:69847): apparmor="ALLOWED" operation="open" class="file" profile="systemd-logind" name="/sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" pid=1762 comm="systemd-logind" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> Panic#1 Part14
> <5>[23880.192628] audit: type=1400 audit(1791837260.902:69848): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23941.434053] audit: type=1400 audit(1791837322.143:69849): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[23991.133553] audit: type=1400 audit(1791837371.843:69850): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[24027.992332] audit: type=1400 audit(1791837408.702:69851): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[24062.777736] audit: type=1400 audit(1791837443.487:69852): apparmor="ALLOWED" operation="unlink" class="file" profile="checkupdates" name="/tmp/checkup-db-1000/db.lck" pid=43599 comm="rm" requested_mask="d" denied_mask="d" fsuid=1000 ouid=1000
> <5>[24138.702943] audit: type=1400 audit(1791837519.412:69853): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> Panic#1 Part13
> <5>[24190.459031] audit: type=1400 audit(1791837571.168:69854): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[24460.694613] audit: type=1400 audit(1791837841.404:69855): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[24540.707147] audit: type=1400 audit(1791837921.417:69856): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[24610.728663] audit: type=1400 audit(1791837991.438:69857): apparmor="ALLOWED" operation="signal" class="signal" profile="waybar" pid=3184 comm="gly-global-exec" requested_mask="send" denied_mask="send" signal=kill peer="unconfined"
> <5>[24626.505435] audit: type=1400 audit(1791838007.215:69858): apparmor="ALLOWED" operation="open" class="file" profile="lsb-release" name="/home/nidh0gg/" pid=44913 comm="find" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
> <5>[24631.742881] audit: type=1400 audit(1791838012.452:69859): apparmor="ALLOWED" operation="open" class="file" profile="tlp" name="/sys/devices/pci0000:00/0000:00:14.3/PNP0C09:00/ACPI0003:00/power_supply/AC/type" pid=45130 comm="cat" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> Panic#1 Part12
> <5>[24631.745509] audit: type=1400 audit(1791838012.455:69860): apparmor="ALLOWED" operation="open" class="file" profile="tlp" name="/sys/devices/pci0000:00/0000:00:14.3/PNP0C09:00/ACPI0003:00/power_supply/AC/online" pid=45135 comm="cat" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24631.785235] audit: type=1400 audit(1791838012.495:69861): apparmor="ALLOWED" operation="exec" class="file" info="profile transition not found" error=-13 profile="containerd-shim-runc-v2" name="/usr/bin/runc" pid=45184 comm="containerd-shim" requested_mask="x" denied_mask="x" fsuid=0 ouid=0 target="containerd-shim-runc-v2//null-/usr/bin/runc"
> <5>[24631.785991] audit: type=1400 audit(1791838012.495:69862): apparmor="ALLOWED" operation="file_inherit" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/dev/null" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24631.786139] audit: type=1400 audit(1791838012.496:69863): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/bin/runc" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24631.788393] audit: type=1400 audit(1791838012.498:69864): apparmor="ALLOWED" operation="file_mmap" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/usr/lib/ld-linux-x86-64.so.2" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> Panic#1 Part11
> <5>[24631.788512] audit: type=1400 audit(1791838012.498:69865): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24631.788521] audit: type=1400 audit(1791838012.498:69866): apparmor="ALLOWED" operation="open" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24631.788542] audit: type=1400 audit(1791838012.498:69867): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/etc/ld.so.cache" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <5>[24631.790148] audit: type=1400 audit(1791838012.499:69868): apparmor="ALLOWED" operation="getattr" class="file" profile="containerd-shim-runc-v2//null-/usr/bin/runc" name="/opt/containerd/lib/" pid=45184 comm="runc" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> <6>[24632.206356] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.212502] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.217318] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.222212] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.311807] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
> <6>[24632.422399] amdgpu 0000:73:00.0: [drm] DMUB HPD RX IRQ callback: link_index=7
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-16 5:58 ` Mika Westerberg
@ 2026-10-16 16:55 ` Paweł Frelek
2026-10-16 17:20 ` Paweł Frelek
2026-10-19 6:11 ` Mika Westerberg
0 siblings, 2 replies; 12+ messages in thread
From: Paweł Frelek @ 2026-10-16 16:55 UTC (permalink / raw)
To: Mika Westerberg
Cc: westeri, linux-usb, andreas.noever, YehezkelShB, Sanath S,
Basavaraj Natikar, Mario Limonciello
[-- Attachment #1: Type: text/plain, Size: 3174 bytes --]
pt., 16 paź 2026 o 07:58 Mika Westerberg
<mika.westerberg@linux.intel.com> napisał(a):
>
> Hi,
>
> Okay something is still holding the domain reference.
>
> > The full pstore dmesg is attached. I can enable thunderbolt dynamic
> > debug or test patches if that helps.
>
> Yes please. Also drop the dprx_timeout= if you don't need it (you should
> not). I'm adding AMD folks here too just in case.
Hi Mika,
It’s reproducible here: turn the monitors off (DPMS), wait a minute,
turn them back on and reboot ~10 s later. 3 out of 3 tries hung, all
with thunderbolt.dyndbg=+p, on 7.2.9 (Arch). The third one was without
dprx_timeout, so that parameter isn’t related to the hang.
First try: the reported hung task is a kworker in
drm_fb_helper_damage_work, blocked on a mutex held by
drm_dp_mst_link_probe_work. That one is still running, in an atomic
commit doing a DPCD read over the DPIA AUX through DMUB, which times
out every 10 s once the dock is gone:
[ 381.866955] shutdown[1]: Rebooting.
[ 381.909909] thunderbolt 0-2: device disconnected
[ 381.910278] thunderbolt 0000:74:00.6: control channel stopped
[ 391.281808] amdgpu 0000:73:00.0: [drm] ERROR
wait_for_completion_timeout timeout!
[ 391.494199] amdgpu 0000:73:00.0: [drm] ERROR
dc_dmub_srv_log_diagnostic_data: DMCUB error - collecting diagnostic
data
... repeats every 10 s ...
[ 493.681887] INFO: task kworker/8:0:46 blocked for more than 122 seconds.
[ 493.695092] INFO: task kworker/8:0:46 is blocked on a mutex likely
owned by task kworker/6:0:40.
[ 493.695982] Workqueue: events_long drm_dp_mst_link_probe_work
[drm_display_helper]
Second and third try: shutdown blocked in nhi_pci_remove ->
wait_for_completion, same as my earlier reports. In the second one
amdgpu keeps logging these every ~200 ms (250+ pairs, they pushed the
beginning of the log out of pstore):
[ 932.152799] amdgpu 0000:73:00.0: [drm] ERROR Error queueing DMUB
command: status=2
[ 932.153392] amdgpu 0000:73:00.0: [drm] ERROR
dc_dmub_srv_log_diagnostic_data: DMCUB error - collecting diagnostic
data
...
[ 985.211169] INFO: task shutdown:1 blocked for more than 122 seconds.
Earlier today, without the monitor off/on step, I also got it on a
plain reboot after ~14 min of uptime (shutdown in nhi_pci_remove, no
dyndbg in that one).
About dprx_timeout: without it the monitors didn’t come up on 2 of 3
boots today. Once the DP tunnel was torn down after 12 s of “DPRX read
timeout”. The other time the DPRX capabilities read completed, but the
tunnel was torn down as “not active” ~14 s later. With 60000 I haven’t
seen this today, so I’ve put it back for now.
Attached (pstore dmesg unless noted):
hang-dyndbg-dmesg.txt.gz: first try
hang2-dyndbg-dmesg.txt.gz: second try
hang3-no-dprx-timeout-dmesg.txt.gz: third try, without dprx_timeout
hang-earlier-dmesg.txt.gz: plain reboot, no dyndbg
no-dprx-timeout-boot-tb.txt.gz, no-dprx-timeout-boot2-tb.txt.gz:
thunderbolt lines from the two boots where the monitors didn’t come up
(full logs available)
Paweł
--
Paweł Frelek ( ͡° ͜ʖ ͡°)
pawel.frelek@gmail.com
[-- Attachment #2: no-dprx-timeout-boot2-tb.txt.gz --]
[-- Type: application/gzip, Size: 5433 bytes --]
[-- Attachment #3: hang3-no-dprx-timeout-dmesg.txt.gz --]
[-- Type: application/gzip, Size: 6705 bytes --]
[-- Attachment #4: no-dprx-timeout-boot-tb.txt.gz --]
[-- Type: application/gzip, Size: 3856 bytes --]
[-- Attachment #5: hang-earlier-dmesg.txt.gz --]
[-- Type: application/gzip, Size: 7318 bytes --]
[-- Attachment #6: hang2-dyndbg-dmesg.txt.gz --]
[-- Type: application/gzip, Size: 4438 bytes --]
[-- Attachment #7: hang-dyndbg-dmesg.txt.gz --]
[-- Type: application/gzip, Size: 6841 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-16 16:55 ` Paweł Frelek
@ 2026-10-16 17:20 ` Paweł Frelek
2026-10-19 6:11 ` Mika Westerberg
1 sibling, 0 replies; 12+ messages in thread
From: Paweł Frelek @ 2026-10-16 17:20 UTC (permalink / raw)
To: Mika Westerberg
Cc: westeri, linux-usb, andreas.noever, YehezkelShB, Sanath S,
Basavaraj Natikar, Mario Limonciello
[-- Attachment #1: Type: text/plain, Size: 888 bytes --]
pt., 16 paź 2026 o 18:55 Paweł Frelek <pawel.frelek@gmail.com> napisał(a):
> About dprx_timeout: without it the monitors didn’t come up on 2 of 3
> boots today. Once the DP tunnel was torn down after 12 s of “DPRX read
> timeout”. The other time the DPRX capabilities read completed, but the
> tunnel was torn down as “not active” ~14 s later. With 60000 I haven’t
> seen this today, so I’ve put it back for now.
A correction to the dprx_timeout part: after sending this I had one
more boot, with dprx_timeout=60000, where the monitors didn’t come up
either (DPRX read timeouts for ~19 s). Replugging didn’t help,
power-cycling the dock did, and then the DPRX read completed right
away. Before today, with 60000, I hadn’t seen this for weeks.
Thunderbolt log of that boot attached.
--
Paweł Frelek ( ͡° ͜ʖ ͡°)
pawel.frelek@gmail.com
[-- Attachment #2: dprx60000-boot-nomon-tb.txt.gz --]
[-- Type: application/gzip, Size: 6368 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-16 16:55 ` Paweł Frelek
2026-10-16 17:20 ` Paweł Frelek
@ 2026-10-19 6:11 ` Mika Westerberg
2026-10-19 17:43 ` Paweł Frelek
1 sibling, 1 reply; 12+ messages in thread
From: Mika Westerberg @ 2026-10-19 6:11 UTC (permalink / raw)
To: Paweł Frelek
Cc: westeri, linux-usb, andreas.noever, YehezkelShB, Sanath S,
Basavaraj Natikar, Mario Limonciello
Hi,
On Fri, Oct 16, 2026 at 06:55:40PM +0200, Paweł Frelek wrote:
> pt., 16 paź 2026 o 07:58 Mika Westerberg
> <mika.westerberg@linux.intel.com> napisał(a):
> >
> > Hi,
> >
> > Okay something is still holding the domain reference.
> >
> > > The full pstore dmesg is attached. I can enable thunderbolt dynamic
> > > debug or test patches if that helps.
> >
> > Yes please. Also drop the dprx_timeout= if you don't need it (you should
> > not). I'm adding AMD folks here too just in case.
>
> Hi Mika,
>
> It’s reproducible here: turn the monitors off (DPMS), wait a minute,
> turn them back on and reboot ~10 s later. 3 out of 3 tries hung, all
> with thunderbolt.dyndbg=+p, on 7.2.9 (Arch). The third one was without
> dprx_timeout, so that parameter isn’t related to the hang.
>
> First try: the reported hung task is a kworker in
> drm_fb_helper_damage_work, blocked on a mutex held by
> drm_dp_mst_link_probe_work. That one is still running, in an atomic
> commit doing a DPCD read over the DPIA AUX through DMUB, which times
> out every 10 s once the dock is gone:
>
> [ 381.866955] shutdown[1]: Rebooting.
> [ 381.909909] thunderbolt 0-2: device disconnected
> [ 381.910278] thunderbolt 0000:74:00.6: control channel stopped
> [ 391.281808] amdgpu 0000:73:00.0: [drm] ERROR
> wait_for_completion_timeout timeout!
> [ 391.494199] amdgpu 0000:73:00.0: [drm] ERROR
> dc_dmub_srv_log_diagnostic_data: DMCUB error - collecting diagnostic
> data
> ... repeats every 10 s ...
> [ 493.681887] INFO: task kworker/8:0:46 blocked for more than 122 seconds.
> [ 493.695092] INFO: task kworker/8:0:46 is blocked on a mutex likely
> owned by task kworker/6:0:40.
> [ 493.695982] Workqueue: events_long drm_dp_mst_link_probe_work
> [drm_display_helper]
>
> Second and third try: shutdown blocked in nhi_pci_remove ->
> wait_for_completion, same as my earlier reports. In the second one
> amdgpu keeps logging these every ~200 ms (250+ pairs, they pushed the
> beginning of the log out of pstore):
>
> [ 932.152799] amdgpu 0000:73:00.0: [drm] ERROR Error queueing DMUB
> command: status=2
> [ 932.153392] amdgpu 0000:73:00.0: [drm] ERROR
> dc_dmub_srv_log_diagnostic_data: DMCUB error - collecting diagnostic
> data
> ...
> [ 985.211169] INFO: task shutdown:1 blocked for more than 122 seconds.
>
> Earlier today, without the monitor off/on step, I also got it on a
> plain reboot after ~14 min of uptime (shutdown in nhi_pci_remove, no
> dyndbg in that one).
>
> About dprx_timeout: without it the monitors didn’t come up on 2 of 3
> boots today. Once the DP tunnel was torn down after 12 s of “DPRX read
> timeout”. The other time the DPRX capabilities read completed, but the
> tunnel was torn down as “not active” ~14 s later. With 60000 I haven’t
> seen this today, so I’ve put it back for now.
>
> Attached (pstore dmesg unless noted):
>
> hang-dyndbg-dmesg.txt.gz: first try
> hang2-dyndbg-dmesg.txt.gz: second try
> hang3-no-dprx-timeout-dmesg.txt.gz: third try, without dprx_timeout
> hang-earlier-dmesg.txt.gz: plain reboot, no dyndbg
> no-dprx-timeout-boot-tb.txt.gz, no-dprx-timeout-boot2-tb.txt.gz:
> thunderbolt lines from the two boots where the monitors didn’t come up
> (full logs available)
Thanks for the logs! There are bunch of other fixes around this area that
might not yet be in your kernel, specifically this one:
1fd1f67c94d3 thunderbolt: Fix domain reference leak when DPRX read is canceled
I suggest to take the just released v7.3 and see if the problem still
persist.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-19 6:11 ` Mika Westerberg
@ 2026-10-19 17:43 ` Paweł Frelek
2026-10-19 21:00 ` Mario Limonciello
0 siblings, 1 reply; 12+ messages in thread
From: Paweł Frelek @ 2026-10-19 17:43 UTC (permalink / raw)
To: Mika Westerberg
Cc: westeri, linux-usb, andreas.noever, YehezkelShB, Sanath S,
Basavaraj Natikar, Mario Limonciello
pon., 19 paź 2026 o 08:11 Mika Westerberg
<mika.westerberg@linux.intel.com> napisał(a):
>
> Hi,
Hi
> I suggest to take the just released v7.3 and see if the problem still
> persist.
Tested v7.3 (Arch config, localmodconfig). The recipe that hung 3 out
of 3 times on 7.2.9 (monitors off via DPMS, back on, reboot ~10 s
later) now passes 3 out of 3: no hang in nhi_pci_remove, nothing in
pstore. So it looks fixed by 7.3, thanks!
The amdgpu side still logs this on every monitor wake through the
dock, but that’s a separate thing for the AMD folks:
WARNING: drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_dpia.c:52
at update_dpia_stream_allocation_table+0x120/0x130 [amdgpu]
amdgpu 0000:73:00.0: [drm] ERROR Sending link address failed with -5
Paweł
--
Paweł Frelek ( ͡° ͜ʖ ͡°)
pawel.frelek@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-19 17:43 ` Paweł Frelek
@ 2026-10-19 21:00 ` Mario Limonciello
2026-10-20 13:41 ` Paweł Frelek
0 siblings, 1 reply; 12+ messages in thread
From: Mario Limonciello @ 2026-10-19 21:00 UTC (permalink / raw)
To: Paweł Frelek, Mika Westerberg
Cc: westeri, linux-usb, andreas.noever, YehezkelShB, Sanath S,
Basavaraj Natikar
[-- Attachment #1: Type: text/plain, Size: 929 bytes --]
On 10/19/26 12:43, Paweł Frelek wrote:
> pon., 19 paź 2026 o 08:11 Mika Westerberg
> <mika.westerberg@linux.intel.com> napisał(a):
>>
>> Hi,
> Hi
>> I suggest to take the just released v7.3 and see if the problem still
>> persist.
>
> Tested v7.3 (Arch config, localmodconfig). The recipe that hung 3 out
> of 3 times on 7.2.9 (monitors off via DPMS, back on, reboot ~10 s
> later) now passes 3 out of 3: no hang in nhi_pci_remove, nothing in
> pstore. So it looks fixed by 7.3, thanks!
>
> The amdgpu side still logs this on every monitor wake through the
> dock, but that’s a separate thing for the AMD folks:
>
> WARNING: drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_dpia.c:52
> at update_dpia_stream_allocation_table+0x120/0x130 [amdgpu]
> amdgpu 0000:73:00.0: [drm] ERROR Sending link address failed with -5
I have a few patches I was going to propose for this area. Can you see
if these help?
[-- Attachment #2: 0001-drm-amd-display-Release-the-IRQ-owned-stream-during-.patch --]
[-- Type: text/x-patch, Size: 5249 bytes --]
From 59addbdc42d111e8a1e9b5b241900ebdebce25b2 Mon Sep 17 00:00:00 2001
From: Mario Limonciello <mario.limonciello@amd.com>
Date: Wed, 14 Oct 2026 11:23:48 -0500
Subject: [PATCH 1/3] drm/amd/display: Release the IRQ-owned stream during
teardown
amdgpu_dm_commit_streams() drops dm_old_crtc_state->stream when disabling
interrupts to balance the reference retained in
acrtc->dm_irq_params.stream.
Those pointers normally alias, but a seamless-boot CRTC can be active
before the IRQ stream reference has been acquired. If the link disappears
during early boot, teardown releases an unowned reference. Releasing the
remaining DC state later then underflows the stream refcount and corrupts
the slab.
Release the stream actually stored in dm_irq_params instead, and clear the
pointer so it cannot remain stale. Add tests for both populated and absent
IRQ stream ownership.
Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5981
Fixes: 585d450c76d1 ("drm/amd/display: Refactor to prevent crtc state access in DM IRQ handler")
Cc: stable@vger.kernel.org
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +++++-
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 1 +
.../display/amdgpu_dm/tests/amdgpu_dm_test.c | 39 +++++++++++++++++++
3 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index c4fee73a02f91..1b7ac5070ad9d 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -3488,6 +3488,16 @@ STATIC_IFN_KUNIT void manage_dm_interrupts(struct amdgpu_device *adev,
}
EXPORT_IF_KUNIT(manage_dm_interrupts);
+STATIC_IFN_KUNIT void amdgpu_dm_release_irq_stream(struct amdgpu_crtc *acrtc)
+{
+ struct dc_stream_state *stream = acrtc->dm_irq_params.stream;
+
+ acrtc->dm_irq_params.stream = NULL;
+ dc_stream_release(stream);
+}
+
+EXPORT_IF_KUNIT(amdgpu_dm_release_irq_stream);
+
STATIC_IFN_KUNIT void dm_update_pflip_irq_state(struct amdgpu_device *adev,
struct amdgpu_crtc *acrtc)
{
@@ -4632,7 +4642,7 @@ static void amdgpu_dm_commit_streams(struct drm_atomic_commit *state,
* stream is released.
*/
amdgpu_dm_ism_flush(&acrtc->ism);
- dc_stream_release(dm_old_crtc_state->stream);
+ amdgpu_dm_release_irq_stream(acrtc);
}
}
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
index 594d275918d5e..569c782c866fa 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
@@ -1353,6 +1353,7 @@ int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_commit *state, struct dc_
struct dsc_mst_fairness_vars *vars);
void manage_dm_interrupts(struct amdgpu_device *adev, struct amdgpu_crtc *acrtc,
struct dm_crtc_state *acrtc_state);
+void amdgpu_dm_release_irq_stream(struct amdgpu_crtc *acrtc);
void amdgpu_dm_enable_self_refresh(struct amdgpu_display_manager *dm,
struct amdgpu_crtc *acrtc_attach,
const struct dm_crtc_state *acrtc_state, const u64 current_ts);
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_test.c b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_test.c
index a497cce332bb3..ff61093443392 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_test.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_test.c
@@ -4298,6 +4298,43 @@ static void dm_test_manage_interrupts_disable(struct kunit *test)
KUNIT_EXPECT_FALSE(test, ctx->adev->ddev.vblank[0].enabled);
}
+/**
+ * dm_test_release_irq_stream - Test the IRQ-owned stream reference is released
+ * @test: KUnit test context
+ */
+static void dm_test_release_irq_stream(struct kunit *test)
+{
+ struct dc_stream_state *stream = dm_kunit_alloc_stream(test, NULL);
+ struct amdgpu_crtc *acrtc;
+
+ acrtc = kunit_kzalloc(test, sizeof(*acrtc), GFP_KERNEL);
+ KUNIT_ASSERT_NOT_NULL(test, acrtc);
+
+ kref_get(&stream->refcount);
+ acrtc->dm_irq_params.stream = stream;
+
+ amdgpu_dm_release_irq_stream(acrtc);
+
+ KUNIT_EXPECT_NULL(test, acrtc->dm_irq_params.stream);
+ KUNIT_EXPECT_EQ(test, kref_read(&stream->refcount), 1);
+}
+
+/**
+ * dm_test_release_irq_stream_unset - Test release without IRQ stream ownership
+ * @test: KUnit test context
+ */
+static void dm_test_release_irq_stream_unset(struct kunit *test)
+{
+ struct amdgpu_crtc *acrtc;
+
+ acrtc = kunit_kzalloc(test, sizeof(*acrtc), GFP_KERNEL);
+ KUNIT_ASSERT_NOT_NULL(test, acrtc);
+
+ amdgpu_dm_release_irq_stream(acrtc);
+
+ KUNIT_EXPECT_NULL(test, acrtc->dm_irq_params.stream);
+}
+
/* Tests for dm_early_init() */
#define DM_TEST_ATOM_BIOS_SIZE 512
@@ -5409,6 +5446,8 @@ static struct kunit_case amdgpu_dm_tests[] = {
KUNIT_CASE(dm_test_manage_interrupts_offdelay_fallback),
KUNIT_CASE(dm_test_manage_interrupts_apu_instant_off),
KUNIT_CASE(dm_test_manage_interrupts_disable),
+ KUNIT_CASE(dm_test_release_irq_stream),
+ KUNIT_CASE(dm_test_release_irq_stream_unset),
/* dm_early_init */
KUNIT_CASE(dm_test_early_init_no_object_header),
KUNIT_CASE(dm_test_early_init_legacy_asics),
--
2.43.0
[-- Attachment #3: 0002-drm-amd-display-Skip-stale-DPIA-slot-updates-after-d.patch --]
[-- Type: text/x-patch, Size: 2680 bytes --]
From 25141b19306cf22f85ae359250027ccf58cef821 Mon Sep 17 00:00:00 2001
From: Mario Limonciello <mario.limonciello@amd.com>
Date: Wed, 14 Oct 2026 15:46:51 -0500
Subject: [PATCH 2/3] drm/amd/display: Skip stale DPIA slot updates after
disconnect
DMUB discards a DPIA tunnel allocation when HPD goes low, before
the hotplug atomic commit disables the old MST streams. DC removes
those streams one at a time, so the first removal can send an
intermediate non-zero slot total for a topology that no longer exists.
DMUB rejects that total because its slot state is already zero.
Do not send non-zero slot updates once the link is no longer an MST
branch. Keep the final zero update so firmware is released even when it
did not clear the allocation, and continue programming the link encoder
table for every stream removal.
Fixes: 139a33112f17 ("drm/amd/display: MST support for DPIA")
Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5981
Cc: stable@vger.kernel.org
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
.../amd/display/dc/link/hwss/link_hwss_dpia.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dpia.c b/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dpia.c
index 2a87b23582f34..3645f638f6b8b 100644
--- a/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dpia.c
+++ b/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dpia.c
@@ -47,11 +47,20 @@ static void update_dpia_stream_allocation_table(struct dc_link *link,
for (i = 0; i < table->stream_count; i++)
mst_alloc_slots += table->stream_allocations[i].slot_count;
- status = dc_process_dmub_set_mst_slots(link->dc, link->link_index,
- mst_alloc_slots, &prev_mst_slots_in_use);
- ASSERT(status == DC_OK);
- DC_LOG_MST("dpia : status[%d]: alloc_slots[%d]: used_slots[%d]\n",
- status, mst_alloc_slots, prev_mst_slots_in_use);
+ /*
+ * Once the MST topology is gone, DMUB no longer has the old stream
+ * allocations. Avoid sending intermediate non-zero totals while DC
+ * removes those streams one at a time, but still send the final zero
+ * in case firmware has not cleared the allocation yet.
+ */
+ if (link->type == dc_connection_mst_branch || !mst_alloc_slots) {
+ status = dc_process_dmub_set_mst_slots(link->dc, link->link_index,
+ mst_alloc_slots,
+ &prev_mst_slots_in_use);
+ ASSERT(status == DC_OK);
+ DC_LOG_MST("dpia : status[%d]: alloc_slots[%d]: used_slots[%d]\n",
+ status, mst_alloc_slots, prev_mst_slots_in_use);
+ }
if (link_enc)
link_enc->funcs->update_mst_stream_allocation_table(link_enc, table);
--
2.43.0
[-- Attachment #4: 0003-drm-amd-display-Reject-unallocated-MST-payloads.patch --]
[-- Type: text/x-patch, Size: 8904 bytes --]
From 16dd1c243b5581f6377c72a58cb52232296503df Mon Sep 17 00:00:00 2001
From: Mario Limonciello <mario.limonciello@amd.com>
Date: Wed, 14 Oct 2026 15:51:32 -0500
Subject: [PATCH 3/3] drm/amd/display: Reject unallocated MST payloads
A connector left behind by MST topology churn can reach commit-tail
with an atomic payload that has neither a VCPI nor time slots. The
payload helper currently treats it like an allocated payload, producing
an empty source allocation table and triggering the stream-count
assertion before attempting further hardware programming.
Reject unallocated payloads before calling the DRM payload helpers.
Propagate that failure out of allocate_mst_payload() so source-table
programming, ACT polling, and part 2 are skipped, while completing
post-enable programming with a failed-handshake result to leave DCN
consistent.
Keep tolerating drm_dp_add_payload_part1() communication failures as
required by its commit-tail contract.
Fixes: 4d07b0bc4034 ("drm/display/dp_mst: Move all payload info into the atomic state")
Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5981
Cc: stable@vger.kernel.org
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
---
.../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 3 ++
.../amdgpu_dm/tests/amdgpu_dm_helpers_test.c | 45 ++++++++++++++-----
.../gpu/drm/amd/display/dc/link/link_dpms.c | 31 ++++++-------
3 files changed, 53 insertions(+), 26 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
index 3217aa82bea24..70f211a8775d4 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -397,6 +397,9 @@ bool dm_helpers_dp_mst_write_payload_allocation_table(
new_payload = drm_atomic_get_mst_payload_state(mst_state, aconnector->mst_output_port);
if (enable) {
+ if (!new_payload->vcpi || !new_payload->time_slots)
+ return false;
+
target_payload = new_payload;
/* It's OK for this to fail */
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_helpers_test.c b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_helpers_test.c
index d37fe26eecea4..3cf7c2eb8da66 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_helpers_test.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_helpers_test.c
@@ -3369,21 +3369,23 @@ static void dm_test_construct_old_payload_intervening(struct kunit *test)
KUNIT_EXPECT_EQ(test, old_payload->pbn, 15);
}
-/* Tests for dm_helpers_dp_mst_write_payload_allocation_table() success path */
+/* Tests for dm_helpers_dp_mst_write_payload_allocation_table() */
/**
- * dm_test_write_payload_alloc_table_success - Exercise the MST success path
+ * dm_test_write_payload_alloc_table - Exercise MST payload table updates
* @test: The KUnit test context
* @enable: true for the add-payload path, false for the remove-payload path
+ * @valid_payload: true when the payload has an allocated VCPI and slots
*
* Builds a minimal MST topology-state fixture so the helper traverses past the
* early NULL checks and runs the real DRM MST payload helpers
* (drm_dp_add_payload_part1 / drm_dp_remove_payload_part1). With
- * mgr->mst_primary == NULL the topology walk fails gracefully, so no remote
- * DPCD/AUX traffic is generated, and the helper still returns true.
+ * mgr->mst_primary == NULL the topology walk fails without remote DPCD/AUX
+ * traffic. Such communication failures are tolerated for valid payloads so
+ * commit-tail can finish local hardware programming.
*/
-static void dm_test_write_payload_alloc_table_success(struct kunit *test,
- bool enable)
+static void dm_test_write_payload_alloc_table(struct kunit *test, bool enable,
+ bool valid_payload)
{
struct amdgpu_device *adev;
struct amdgpu_dm_connector *aconnector;
@@ -3427,9 +3429,9 @@ static void dm_test_write_payload_alloc_table_success(struct kunit *test,
/* payload found by drm_atomic_get_mst_payload_state via matching port */
payload->port = port;
- payload->vcpi = 1;
+ payload->vcpi = valid_payload ? 1 : 0;
payload->vc_start_slot = 1;
- payload->time_slots = 2;
+ payload->time_slots = valid_payload ? 2 : 0;
list_add_tail(&payload->next, &mst_state->payloads);
/* pre-existing HW allocation so the disable path finds a VCPI to clear */
@@ -3443,6 +3445,17 @@ static void dm_test_write_payload_alloc_table_success(struct kunit *test,
ret = dm_helpers_dp_mst_write_payload_allocation_table(NULL, stream,
&table, enable);
+ if (enable && !valid_payload) {
+ KUNIT_EXPECT_FALSE(test, ret);
+ KUNIT_EXPECT_EQ(test, table.stream_count, 0);
+ KUNIT_EXPECT_EQ(test, mgr->payload_count, 0);
+ KUNIT_EXPECT_EQ(test, mgr->next_start_slot, 0);
+ KUNIT_EXPECT_EQ(test, payload->vc_start_slot, 1);
+ KUNIT_EXPECT_EQ(test, payload->payload_allocation_status,
+ DRM_DP_MST_PAYLOAD_ALLOCATION_NONE);
+ return;
+ }
+
KUNIT_EXPECT_TRUE(test, ret);
if (enable)
@@ -3459,7 +3472,16 @@ static void dm_test_write_payload_alloc_table_success(struct kunit *test,
*/
static void dm_test_write_payload_alloc_table_enable(struct kunit *test)
{
- dm_test_write_payload_alloc_table_success(test, true);
+ dm_test_write_payload_alloc_table(test, true, true);
+}
+
+/**
+ * dm_test_write_payload_alloc_table_enable_unallocated - Reject unallocated payload
+ * @test: The KUnit test context
+ */
+static void dm_test_write_payload_alloc_table_enable_unallocated(struct kunit *test)
+{
+ dm_test_write_payload_alloc_table(test, true, false);
}
/**
@@ -3468,7 +3490,7 @@ static void dm_test_write_payload_alloc_table_enable(struct kunit *test)
*/
static void dm_test_write_payload_alloc_table_disable(struct kunit *test)
{
- dm_test_write_payload_alloc_table_success(test, false);
+ dm_test_write_payload_alloc_table(test, false, true);
}
/* Tests for dm_helpers_dp_mst_poll_for_allocation_change_trigger() */
@@ -4946,8 +4968,9 @@ static struct kunit_case amdgpu_dm_helpers_test_cases[] = {
KUNIT_CASE(dm_test_smu_timeout_no_crash),
KUNIT_CASE(dm_test_set_phyd32clk_no_crash),
KUNIT_CASE(dm_test_mst_update_branch_bandwidth_no_crash),
- /* dm_helpers_dp_mst_write_payload_allocation_table success path */
+ /* dm_helpers_dp_mst_write_payload_allocation_table */
KUNIT_CASE(dm_test_write_payload_alloc_table_enable),
+ KUNIT_CASE(dm_test_write_payload_alloc_table_enable_unallocated),
KUNIT_CASE(dm_test_write_payload_alloc_table_disable),
/* MST null-connector early returns */
KUNIT_CASE(dm_test_mst_write_payload_alloc_table_null_ctx),
diff --git a/drivers/gpu/drm/amd/display/dc/link/link_dpms.c b/drivers/gpu/drm/amd/display/dc/link/link_dpms.c
index 42a47d12d1f38..652645619d3d9 100644
--- a/drivers/gpu/drm/amd/display/dc/link/link_dpms.c
+++ b/drivers/gpu/drm/amd/display/dc/link/link_dpms.c
@@ -1462,19 +1462,17 @@ static enum dc_status allocate_mst_payload(struct pipe_ctx *pipe_ctx)
*/
/* get calculate VC payload for stream: stream_alloc */
- if (dm_helpers_dp_mst_write_payload_allocation_table(
- stream->ctx,
- stream,
- &proposed_table,
- true))
- update_mst_stream_alloc_table(
- link,
- pipe_ctx->stream_res.stream_enc,
- pipe_ctx->stream_res.hpo_dp_stream_enc,
- &proposed_table);
- else
+ if (!dm_helpers_dp_mst_write_payload_allocation_table(stream->ctx, stream,
+ &proposed_table,
+ true)) {
DC_LOG_WARNING("Failed to update MST allocation table for idx %d\n",
pipe_ctx->pipe_idx);
+ return DC_FAIL_DP_PAYLOAD_ALLOCATION;
+ }
+
+ update_mst_stream_alloc_table(link, pipe_ctx->stream_res.stream_enc,
+ pipe_ctx->stream_res.hpo_dp_stream_enc,
+ &proposed_table);
print_mst_streams(link);
@@ -2754,6 +2752,8 @@ static enum dc_status link_set_dpms_on_post_enable_link(
struct pipe_ctx *pipe_ctx
)
{
+ enum dc_status result = DC_DPMS_SUCCESS;
+
// Used conditionally in ifdef'ed diagnostic builds
(void) state;
@@ -2803,9 +2803,10 @@ static enum dc_status link_set_dpms_on_post_enable_link(
if (pipe_ctx->link_config.dp_tunnel_settings.should_use_dp_bw_allocation)
allocate_usb4_bandwidth(stream);
- if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST)
- allocate_mst_payload(pipe_ctx);
- else if (dc_is_dp_sst_signal(stream->signal) &&
+ if (stream->signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
+ if (allocate_mst_payload(pipe_ctx) != DC_OK)
+ result = DC_DPMS_FAILED_HANDSHAKE;
+ } else if (dc_is_dp_sst_signal(stream->signal) &&
dp_is_128b_132b_signal(pipe_ctx))
update_sst_payload(pipe_ctx, true);
@@ -2833,7 +2834,7 @@ static enum dc_status link_set_dpms_on_post_enable_link(
if (dc_is_hdmi_signal(stream->signal))
set_avmute(pipe_ctx, false);
- return DC_DPMS_SUCCESS;
+ return result;
}
enum dc_status link_set_dpms_on(
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-19 21:00 ` Mario Limonciello
@ 2026-10-20 13:41 ` Paweł Frelek
2026-10-20 13:49 ` Mario Limonciello
0 siblings, 1 reply; 12+ messages in thread
From: Paweł Frelek @ 2026-10-20 13:41 UTC (permalink / raw)
To: Mario Limonciello
Cc: Mika Westerberg, westeri, linux-usb, andreas.noever, YehezkelShB,
Sanath S, Basavaraj Natikar
pon., 19 paź 2026 o 23:00 Mario Limonciello
<mario.limonciello@amd.com> napisał(a):
> I have a few patches I was going to propose for this area. Can you see
> if these help?
Hi Mario,
These are the same three patches you shared on
https://gitlab.freedesktop.org/drm/amd/-/issues/5981 on Oct 15.
I tested them on v7.3. 0002 and 0003 apply cleanly. 0001 doesn’t
apply, so I ported it by hand with a lot of help from Claude (AI):
amdgpu_dm_release_irq_stream() is a plain static function placed
before manage_dm_interrupts(), with no header change and the KUnit
test left out. The port is attached in case I got something wrong.
Test: power off the external monitors, wait 60 s, power them on
again, done 3 times, each from a fresh boot.
“Sending link address failed with -5”: 2 of 3
“Step 2 of creating MST payload failed: -5”: 1 of 3
link_hwss_dpia WARN (line 60 with 0002 applied): 1 of 3
For comparison, with only 0002+0003 on v7.3 (2 tries) I had the
“Step 2” error 2 of 2 and the dpia WARN 1 of 2.
Thanks,
Paweł
--
Paweł Frelek ( ͡° ͜ʖ ͡°)
pawel.frelek@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6)
2026-10-20 13:41 ` Paweł Frelek
@ 2026-10-20 13:49 ` Mario Limonciello
0 siblings, 0 replies; 12+ messages in thread
From: Mario Limonciello @ 2026-10-20 13:49 UTC (permalink / raw)
To: Paweł Frelek
Cc: Mika Westerberg, westeri, linux-usb, andreas.noever, YehezkelShB,
Sanath S, Basavaraj Natikar
On 10/20/26 08:41, Paweł Frelek wrote:
> pon., 19 paź 2026 o 23:00 Mario Limonciello
> <mario.limonciello@amd.com> napisał(a):
>> I have a few patches I was going to propose for this area. Can you see
>> if these help?
>
> Hi Mario,
>
> These are the same three patches you shared on
> https://gitlab.freedesktop.org/drm/amd/-/issues/5981 on Oct 15.
>
> I tested them on v7.3. 0002 and 0003 apply cleanly. 0001 doesn’t
> apply, so I ported it by hand with a lot of help from Claude (AI):
> amdgpu_dm_release_irq_stream() is a plain static function placed
> before manage_dm_interrupts(), with no header change and the KUnit
> test left out. The port is attached in case I got something wrong.
>
> Test: power off the external monitors, wait 60 s, power them on
> again, done 3 times, each from a fresh boot.
>
> “Sending link address failed with -5”: 2 of 3
> “Step 2 of creating MST payload failed: -5”: 1 of 3
> link_hwss_dpia WARN (line 60 with 0002 applied): 1 of 3
>
> For comparison, with only 0002+0003 on v7.3 (2 tries) I had the
> “Step 2” error 2 of 2 and the dpia WARN 1 of 2.
>
> Thanks,
> Paweł
>
>
>
Thanks, it hadn't occurred to me you were the OP for that issue :)
Let's continue to follow up on the gitlab ticket.
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-10-20 13:49 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-22 14:48 [BUG] thunderbolt: NULL pointer dereference in tb_dp_dprx_work after device disconnect (7.2.6) Paweł Frelek
2026-09-24 16:28 ` Paweł Frelek
2026-09-25 5:29 ` Mika Westerberg
2026-10-13 15:31 ` Paweł Frelek
2026-10-16 5:58 ` Mika Westerberg
2026-10-16 16:55 ` Paweł Frelek
2026-10-16 17:20 ` Paweł Frelek
2026-10-19 6:11 ` Mika Westerberg
2026-10-19 17:43 ` Paweł Frelek
2026-10-19 21:00 ` Mario Limonciello
2026-10-20 13:41 ` Paweł Frelek
2026-10-20 13:49 ` Mario Limonciello
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.