On Fri, 29 Aug 2025 10:53:41 +0200 Linus Lüssing wrote: > This patchset introduces new state variables to combine and reduce the > number of checks we would otherwise perform on every multicast packet > in fast/data path. > > The second reason for introducing these new, internal multicast active > variables is to later propagate a safety mechanism which was introduced > in b00589af3b04 ("bridge: disable snooping if there is no querier") to > switchdev/DSA, too. That is to notify switchdev/DSA if multicast > snooping can safely be applied without potential packet loss.
Please leave the git-generated diff stat in the cover letter. Please include tree designation in the subject, per: https://www.kernel.org/doc/html/next/process/maintainer-netdev.html I'll leave the real review to the experts but this series appears to make kselftests unhappy: [ 106.423894] WARNING: CPU: 3 PID: 1121 at net/bridge/br_multicast.c:1388 __br_multicast_stop+0xa0/0xc0 [bridge] [ 106.424022] Modules linked in: sch_ingress 8021q act_mirred cls_matchall sch_red dummy bridge stp llc sch_tbf vrf veth [ 106.424144] CPU: 3 UID: 0 PID: 1121 Comm: ip Not tainted 6.17.0-rc2-virtme #1 PREEMPT(voluntary) [ 106.424235] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 106.424301] RIP: 0010:__br_multicast_stop+0xa0/0xc0 [bridge] [ 106.424371] Code: 89 df e8 f3 fd ff ff 80 bb 2c 01 00 00 00 75 19 80 bb 0c 02 00 00 00 75 1d 48 8b 3b 5b 48 81 c7 4c 03 00 00 e9 b1 c2 0b f8 90 <0f> 0b 90 80 bb 0c 02 00 00 00 74 e3 90 0f 0b 90 48 8b 3b 5b 48 81 [ 106.424544] RSP: 0018:ffffb78500283888 EFLAGS: 00010202 [ 106.424586] RAX: 0000000000000000 RBX: ffff979907d81af0 RCX: 0000000000000000 [ 106.424665] RDX: ffff979907d81c50 RSI: 0000000000000001 RDI: ffff979907d819c0 [ 106.424753] RBP: ffff979907d819c0 R08: ffffffffb94f0180 R09: ffffb78500283b40 [ 106.424836] R10: ffff97990342d250 R11: ffff979907d81000 R12: ffff979907d819c0 [ 106.424913] R13: 0000000000000002 R14: 0000000000000001 R15: 0000000000000001 [ 106.424992] FS: 00007f7e9de78800(0000) GS:ffff979985967000(0000) knlGS:0000000000000000 [ 106.425073] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 106.425144] CR2: 0000000000447b60 CR3: 0000000004d3b003 CR4: 0000000000772ef0 [ 106.425226] PKRU: 55555554 [ 106.425250] Call Trace: [ 106.425278] <TASK> [ 106.425305] br_multicast_toggle_vlan_snooping+0x1a9/0x1e0 [bridge] [ 106.425383] br_boolopt_multi_toggle+0x54/0x90 [bridge] [ 106.425443] br_changelink+0x4be/0x510 [bridge] [ 106.425510] ? ns_capable+0x2d/0x60 [ 106.425557] rtnl_newlink+0x73f/0xbc0 [ 106.425605] ? rtnl_setlink+0x2c0/0x2c0 [ 106.425633] rtnetlink_rcv_msg+0x358/0x400 [ 106.425676] ? update_load_avg+0x6f/0x350 [ 106.425726] ? rtnl_calcit.isra.0+0x110/0x110 [ 106.425778] netlink_rcv_skb+0x57/0x100 [ 106.425819] netlink_unicast+0x252/0x380 [ 106.425858] ? __alloc_skb+0xdb/0x190 [ 106.425904] netlink_sendmsg+0x1be/0x3e0 [ 106.425945] ____sys_sendmsg+0x132/0x260 [ 106.425984] ? copy_msghdr_from_user+0x6c/0xa0 [ 106.426039] ___sys_sendmsg+0x87/0xd0 [ 106.426083] ? __handle_mm_fault+0xa41/0xe50 [ 106.426144] __sys_sendmsg+0x71/0xd0 [ 106.426184] do_syscall_64+0xa4/0x260 [ 106.426224] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 106.426279] RIP: 0033:0x7f7e9e0451e7