prawdopodobnie winny jest KSMB , tak wynika z analizy logu razem z SI
1. Pierwszy i najważniejszy błąd
Masz:
list_add corruption.
next->prev should be prev (...), but was ...
To nie jest zwykły warning typu „coś może być nie tak”.
To oznacza, że kernelowa lista dwukierunkowa została uszkodzona.
W uproszczeniu kernel oczekiwał:
A <-> B
a znalazł niespójne wskaźniki:
A ---> B
|
+---- prev wskazuje gdzie indziej
Czyli jakiś kod wcześniej:
dodał element do listy drugi raz,
usunął element w nieodpowiednim momencie,
użył już usuniętego elementu,
albo dwa wątki jednocześnie manipulowały tą samą strukturą.
To jest realna korupcja struktur kernela, a nie problem z konfiguracją sieci.
2. I tutaj pojawia się ksmbd
Najważniejsze:
Workqueue: ksmbd-io
oraz:
Call trace:
0xffffffc08094637c
0xffffffc078f4af58 [ksmbd...]
0xffffffc078f3448c [ksmbd...]
Czyli błąd list_add został wykryty podczas wykonywania kodu ksmbd.
Jeszcze ciekawsza jest lista modułów:
Modules linked in: ksmbd ...
...
[last unloaded: ksmbd]
To pokazuje, że ksmbd jest modułem zewnętrznym, a kernel jest oznaczony:
Tainted: [O]=OOT_MODULE
Czyli używasz ksmbd jako out-of-tree module.
3. I teraz najważniejsze — kolejność zdarzeń
Chronologia jest tutaj bardzo wymowna.
15:23:17
Najpierw:
list_add corruption
w ksmbd-io.
11 sekund później — 15:23:28
Pojawia się:
NETDEV WATCHDOG
transmit queue 8 timed out 5010 ms
Potem:
15:23:33 queue 8 timed out 9830 ms
15:23:37 queue 6 timed out 5440 ms
15:23:42 queue 6 timed out 10400 ms
...
I kolejka nie wraca do normalnego działania:
15:24:07 35440 ms
15:24:12 40400 ms
15:24:17
Po około minucie od pierwszego list_add corruption:
rcu: INFO: rcu_sched self-detected stall on CPU
I ponownie:
Workqueue: ksmbd-io
Czyli mamy:
ksmbd
│
▼
list_add corruption
│
▼
uszkodzenie stanu kernela
│
├──────────────► Ethernet TX przestaje postępować
│ NETDEV WATCHDOG
│
▼
ksmbd worker
nie kończy pracy
│
▼
RCU stall
To jest bardzo mocna korelacja czasowa.
4. To zmienia interpretację wcześniejszego RCU stallu
Wcześniej mieliśmy tylko:
RCU stall
Workqueue: ksmbd-io
więc powiedziałem, że ksmbd jest głównym podejrzanym.
Teraz mamy wcześniejsze zdarzenie:
list_add corruption
↓
ksmbd
a następnie:
NETDEV WATCHDOG
↓
RCU stall
↓
ksmbd
Dlatego dużo bardziej prawdopodobne jest, że RCU stall jest skutkiem problemu w ksmbd, a nie jego pierwotną przyczyną.
5. I znalazłem coś bardzo konkretnego
W sierpniu 2026 zgłoszono w OpenWrt problem:
KSMBD bug in Kernels 6.18.x, 6.12.x and 6.6.x
Opis zgłoszenia mówi o:
ksmbd
↓
list corruption in ksmbd_file_cache
↓
deadlock inside ksmbd_smb_check_shared_mode
↓
RCU stall
↓
complete hang of ksmbd worker thread
I co szczególnie istotne — zgłoszenie dotyczy kerneli 6.12.x, czyli dokładnie rodziny, w której jesteś:
6.12.103
Zgłoszenie OpenWrt opisuje też, że problem występuje podczas normalnego dostępu SMB z klienta.
G
GitHub
To jest naprawdę mocny trop.
Tak zawsze urzywałem samby ale od czasu aktualizacji przez owut człowiek robi sie wygodny
i jeszcze log dla dociekliwych
Mon Sep 21 15:23:17 2026 kern.warn kernel: [63906.380765] ------------[ cut here ]------------
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.385665] list_add corruption. next->prev should be prev (ffffff801583fe98), but was ffffff8015208b38. (next=ffffff8015208b38).
Mon Sep 21 15:23:17 2026 kern.warn kernel: [63906.397580] WARNING: CPU: 0 PID: 26496 at 0xffffffc08094637c
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.403484] Modules linked in: ksmbd qcserial pppoe ppp_async option nft_fib_inet nf_flow_table_inet cdc_mbim wireguard usb_wwan sierra rndis_host qmi_wwan pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_pptp nf_nat_irc nf_nat_h323 nf_nat_ftp nf_nat_amanda nf_nat nf_flow_table nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_sane nf_conntrack_pptp nf_conntrack_netlink nf_conntrack_netbios_ns nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast nf_conntrack_amanda nf_conntrack mt7915e(O) mt76_connac_lib(O) mt76(O) mac80211(O) libchacha20poly1305 huawei_cdc_ncm chacha_neon cfg80211(O) cdc_ncm cdc_ether usbserial usbnet usblp ts_kmp ts_fsm ts_bm slhc poly1305_neon nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.403647] libcurve25519_generic libcrc32c libchacha compat(O) cdc_wdm cdc_acm crypto_safexcel ntfs3 nls_ucs2_utils cifs_arc4 asn1_decoder oid_registry tun ovpn(O) udp_tunnel ip6_udp_tunnel netfs nls_utf8 nls_iso8859_1 nls_cp437 sha512_arm64 sha1_ce sha1_generic seqiv md5 geniv des_generic libdes chacha20poly1305 authencesn authenc uas usb_storage leds_gpio xhci_plat_hcd xhci_pci xhci_mtk_hcd xhci_hcd gpio_button_hotplug(O) vfat fat exfat usbcore usb_common aquantia crc_itu_t mii [last unloaded: ksmbd]
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.538162] CPU: 0 UID: 0 PID: 26496 Comm: kworker/0:1 Tainted: G O 6.12.103 #0
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.547098] Tainted: [O]=OOT_MODULE
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.550830] Hardware name: Zyxel EX5601-T0 ubootmod (DT)
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.556384] Workqueue: ksmbd-io 0xffffffc078f34300 [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.564284] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.571485] pc : 0xffffffc08094637c
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.575218] lr : 0xffffffc08094637c
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.578950] sp : ffffffc086683b20
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.582509] x29: ffffffc086683b20 x28: ffffff8003a6ff40 x27: ffffff8015208a80
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.589887] x26: 0000000000000000 x25: ffffff8012a70a04 x24: ffffffc078f54000
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.597263] x23: ffffff8003d75540 x22: ffffff8004007610 x21: 0000000000000000
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.604640] x20: ffffff801583ff04 x19: ffffff8000938900 x18: ffffffc080bcea40
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.612017] x17: 3839656633383531 x16: 3038666666666666 x15: 0000000000000dc9
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.619394] x14: 0000000000000dc9 x13: 00000000ffffffea x12: ffffffc080c269e8
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.626771] x11: ffffffc080bcea40 x10: ffffffc080c26a40 x9 : 0000000000000001
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.634148] x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : 0000000000000001
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.641525] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.648902] x2 : ffffff803fd84350 x1 : ffffffbfbf1e4000 x0 : 0000000000000075
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.656279] Call trace:
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.658973] 0xffffffc08094637c
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.662359] 0xffffffc078f4af58 [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.668607] 0xffffffc078f3448c [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.674855] 0xffffffc080059f54
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.678241] 0xffffffc08005abec
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.681627] 0xffffffc080061b7c
Mon Sep 21 15:23:17 2026 kern.debug kernel: [63906.685012] 0xffffffc0800145a0
Mon Sep 21 15:23:17 2026 kern.warn kernel: [63906.688399] ---[ end trace 0000000000000000 ]---
Mon Sep 21 15:23:28 2026 kern.crit kernel: [63917.851877] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 8 timed out 5010 ms
Mon Sep 21 15:23:33 2026 kern.crit kernel: [63922.666824] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 8 timed out 9830 ms
Mon Sep 21 15:23:37 2026 kern.crit kernel: [63926.662772] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 5440 ms
Mon Sep 21 15:23:39 2026 daemon.notice hostapd: phy0-ap0: AP-STA-DISCONNECTED 84:b8:b8:73:c7:bf
Mon Sep 21 15:23:42 2026 kern.crit kernel: [63931.617936] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 10400 ms
Mon Sep 21 15:23:47 2026 kern.crit kernel: [63936.653180] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 15440 ms
Mon Sep 21 15:23:52 2026 kern.crit kernel: [63941.608676] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 20400 ms
Mon Sep 21 15:23:57 2026 kern.crit kernel: [63946.644257] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 25440 ms
Mon Sep 21 15:24:02 2026 kern.crit kernel: [63951.600049] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 30400 ms
Mon Sep 21 15:24:07 2026 kern.crit kernel: [63956.635918] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 35440 ms
Mon Sep 21 15:24:12 2026 kern.crit kernel: [63961.591950] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 40400 ms
Mon Sep 21 15:24:17 2026 kern.err kernel: [63966.328263] rcu: INFO: rcu_sched self-detected stall on CPU
Mon Sep 21 15:24:17 2026 kern.err kernel: [63966.334098] rcu: 0-....: (5971 ticks this GP) idle=b6ec/1/0x4000000000000000 softirq=2419278/2419278 fqs=2894
Mon Sep 21 15:24:17 2026 kern.err kernel: [63966.344335] rcu: (t=6000 jiffies g=4915325 q=4201 ncpus=4)
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350153] CPU: 0 UID: 0 PID: 26496 Comm: kworker/0:1 Tainted: G W O 6.12.103 #0
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350160] Tainted: [W]=WARN, [O]=OOT_MODULE
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350162] Hardware name: Zyxel EX5601-T0 ubootmod (DT)
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350165] Workqueue: ksmbd-io 0xffffffc078f34300 [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350178] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350182] pc : 0xffffffc078f3e178 [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350186] lr : 0xffffffc078f3e144 [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350190] sp : ffffffc086683ae0
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350192] x29: ffffffc086683ae0 x28: ffffff8003a6ff40 x27: ffffff8015208a80
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350197] x26: 0000000000000000 x25: ffffff801583fe40 x24: 0000000000000021
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350202] x23: ffffff800271b9a0 x22: ffffff801583fe98 x21: ffffff8003d75540
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350208] x20: ffffff8015208a80 x19: ffffff8015208a80 x18: ffffffc080bcea40
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350213] x17: 3839656633383531 x16: 3038666666666666 x15: 0000000000000dc9
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350218] x14: 0000000000000dc9 x13: 00000000ffffffea x12: ffffffc080c269e8
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350223] x11: ffffffc080bcea40 x10: ffffffc080c26a40 x9 : 0000000000000001
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350229] x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : 0000000000000001
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350233] x5 : 0000000000000064 x4 : 0000000000000436 x3 : ffffff800271b9a0
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350238] x2 : ffffff8015208b38 x1 : ffffff80014063c1 x0 : ffffff8015208b38
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350244] Call trace:
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350246] 0xffffffc078f3e178 [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350251] 0xffffffc078f49ecc [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350255] 0xffffffc078f3448c [ksmbd@00000000b611b1a9+0x27000]
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350259] 0xffffffc080059f54
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350261] 0xffffffc08005abec
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350263] 0xffffffc080061b7c
Mon Sep 21 15:24:17 2026 kern.debug kernel: [63966.350265] 0xffffffc0800145a0
Mon Sep 21 15:24:17 2026 kern.crit kernel: [63966.628051] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 45440 ms
Mon Sep 21 15:24:22 2026 kern.crit kernel: [63971.584303] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 50400 ms
Mon Sep 21 15:24:27 2026 kern.crit kernel: [63976.620598] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 55440 ms
Mon Sep 21 15:24:32 2026 kern.crit kernel: [63981.577046] mtk_soc_eth 15100000.ethernet eth0: NETDEV WATCHDOG: CPU: 3: transmit queue 6 timed out 60400 ms
dodam jeszcze ze
istnieje aktualne zgłoszenie OpenWrt opisujące ksmbd + kernel 6.12.x + list corruption + RCU stall, bardzo podobne do mojego przypadku tak twierdzi SI