mac80211: fix netns crash
authorJanusz Dziedzic <[email protected]>
Mon, 17 Nov 2025 11:42:30 +0000 (11:42 +0000)
committerHauke Mehrtens <[email protected]>
Fri, 21 Nov 2025 01:17:53 +0000 (02:17 +0100)
[  201.286070] CPU: 0 UID: 0 PID: 34 Comm: kworker/u8:1 Tainted: G S         O       6.12.51 #0
[  201.294509] Tainted: [S]=CPU_OUT_OF_SPEC, [O]=OOT_MODULE
[  201.299812] Hardware name: Bananapi BPI-R64 (DT)
[  201.304422] Workqueue: netns cleanup_net
[  201.308347] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  201.315304] pc : cfg80211_switch_netns+0x270/0x2d0 [cfg80211]
[  201.321086] lr : cfg80211_switch_netns+0x26c/0x2d0 [cfg80211]
[  201.326846] sp : ffffffc081143ca0
[  201.330153] x29: ffffffc081143ca0 x28: 61c8864680b583eb x27: 0000000000000000
[  201.337287] x26: ffffffc080c46000 x25: ffffff8000d28800 x24: ffffffc081143d80
[  201.344421] x23: ffffff800834e360 x22: ffffffc080d6b280 x21: ffffffc07904aeb8
[  201.351554] x20: ffffff800834c200 x19: ffffff8005e90000 x18: 0000000000000000
[  201.358688] x17: 0000000000000000 x16: 000000000000001d x15: ffffffc081143cf8
[  201.365821] x14: ffffff8005703600 x13: 00000000000003bb x12: 0000000000000000
[  201.372955] x11: 00000000000000c0 x10: 0000000000000000 x9 : ffffffc081143bd0
[  201.380088] x8 : 0000000000000000 x7 : 7f7f7f7f7f7f7f7f x6 : 1f1f1f1f1f1f6348
[  201.387222] x5 : 0000000000000004 x4 : ffffff8000ce8000 x3 : 0000000000000000
[  201.394355] x2 : 0000000000000000 x1 : ffffff8005e90800 x0 : 00000000ffffffea
[  201.401489] Call trace:
[  201.403926]  cfg80211_switch_netns+0x270/0x2d0 [cfg80211]
[  201.409340]  ops_exit_list+0x40/0x80
[  201.412910]  cleanup_net+0x344/0x558
[  201.416480]  process_one_work+0x174/0x300
[  201.420489]  worker_thread+0x278/0x430
[  201.424234]  kthread+0xd8/0xdc
[  201.427283]  ret_from_fork+0x10/0x20

Fixes: e005cdea1028 ("mac80211: update to version 6.16")
Signed-off-by: Janusz Dziedzic <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20829
Signed-off-by: Hauke Mehrtens <[email protected]>
package/kernel/mac80211/patches/build/210-wireless_netns_local_backport.patch

index 9e027fecb6b4dc0668bfb0367fcdec3d38eb3372..af51220c470a6600487fc4e798ab7a6e823b86b5 100644 (file)
@@ -4,11 +4,10 @@
        list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
                if (!wdev->netdev)
                        continue;
--              wdev->netdev->netns_immutable = false;
 +#if LINUX_VERSION_IS_GEQ(6,15,0)
-+              wdev->netdev->netns_immutable = true;
+               wdev->netdev->netns_immutable = false;
 +#elif LINUX_VERSION_IS_GEQ(6,12,0)
-+              wdev->netdev->netns_local = true;
++              wdev->netdev->netns_local = false;
 +#endif
                err = dev_change_net_namespace(wdev->netdev, net, "wlan%d");
                if (err)