Description
In the Linux kernel, the following vulnerability has been resolved: net: bridge: mcast: properly convert mglist to rcu Sashiko reported a bug [1] that br_multicast_del_port_group unlists the port group not using proper rcu helper that preserves the next pointer and after that immediately frees the port group without waiting for rcu grace period. The only rcu walker of mglist is br_multicast_list_adjacent() and it turns out that function has always been buggy because mglist was never properly converted to RCU. Fix it by converting it to rcu and moving its initialization after eth_addr's. Initializing p->next can use RCU_INIT_POINTER because we have a barrier from the hlist_add_head_rcu call later, besides we're initializing an unpublished structure anyway. [1] https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260826014200.362304-1-littleddfu%40gmail.com
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
07f8ac4a1e26e8283542cdaf658a6e2a12fd6980 to < 37cb9a81600da8250f24e25edc07253b62353cbeaffected07f8ac4a1e26e8283542cdaf658a6e2a12fd6980 to < 98247c8264d2076f81fa114bdfa2c2271953ac7caffected07f8ac4a1e26e8283542cdaf658a6e2a12fd6980 to < 38ab2a435001a3c4dbeb70a52f5921e1ccd66f55affected07f8ac4a1e26e8283542cdaf658a6e2a12fd6980 to < f7bf57e94a5d6214b87be08486cb33836fbfa573affected07f8ac4a1e26e8283542cdaf658a6e2a12fd6980 to < 4b772869a1e5f9da5cef5b9c722ec0aa424ee0a0affected
Linux Linux
Default version status: affected
3.16affected0 to < 3.16unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/37cb9a81600da8250f24e25edc07253b62353cbe ↗
- https://git.kernel.org/stable/c/98247c8264d2076f81fa114bdfa2c2271953ac7c ↗
- https://git.kernel.org/stable/c/38ab2a435001a3c4dbeb70a52f5921e1ccd66f55 ↗
- https://git.kernel.org/stable/c/f7bf57e94a5d6214b87be08486cb33836fbfa573 ↗
- https://git.kernel.org/stable/c/4b772869a1e5f9da5cef5b9c722ec0aa424ee0a0 ↗