CVE-2026-98301 PUBLISHED

net: bridge: mst: move switchdev call outside rcu

Assigner: Linux
Reserved: 25.09.2026 Published: 06.10.2026 Updated: 06.10.2026

In the Linux kernel, the following vulnerability has been resolved:

net: bridge: mst: move switchdev call outside rcu

This is a follow-up of one of sashiko's pre-existing bug reports. br_mst_set_state() calls switchdev_port_attr_set() for nonzero MSTIs while holding rcu_read_lock() which invokes the blocking switchdev notifier chain and may sleep. Nonzero MSTI changes come from netlink with rtnl held. Move the switchdev call before entering the rcu section and assert that rtnl is held.

The call cannot be deferred because netlink needs its error and extack. Also DSA reads the old bridge MST state during the callback and checks it. A deferred callback will be late and will see the updated state.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 8ca9a750fc711911ef616ceb627d07357b04545e to b9661fd2423fc25e91e0517ecc0b6156ad83e3a8 (excl.)
  • affected from 4488617e5e995a09abe4d81add5fb165674edb59 to 6b431b63219853eef4054e2f1cb073d2ca2059b4 (excl.)
  • affected from 3a7c1661ae1383364cd6092d851f5e5da64d476b to abf734d150c61acfdfee102169d0e5d1c482e285 (excl.)
  • affected from 3a7c1661ae1383364cd6092d851f5e5da64d476b to d5c4ee1fa4e83a12afc051c831936cd8e006cde3 (excl.)
  • affected from 3a7c1661ae1383364cd6092d851f5e5da64d476b to c40ed3e884c8dc0350f26484030438ef24208ff1 (excl.)
  • affected from 3a7c1661ae1383364cd6092d851f5e5da64d476b to 18a6fe05fb6e18de29fa90d388bb34044114b3d8 (excl.)
  • Version a2b01e65d9ba8af2bb086d3b7288ca53a07249ac is affected
  • Version e43dd2b1ec746e105b7db5f9ad6ef14685a615a4 is affected
  • affected from 6.1.93 to 6.1.189 (excl.)
  • affected from 6.6.33 to 6.6.158 (excl.)
  • affected from 6.8.12 to 6.9 (excl.)
  • affected from 6.9.3 to 6.10 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.10 is affected
  • unaffected from 0 to 6.10 (excl.)
  • unaffected from 6.1.189 to 6.1.* (incl.)
  • unaffected from 6.6.158 to 6.6.* (incl.)
  • unaffected from 6.12.112 to 6.12.* (incl.)
  • unaffected from 6.18.54 to 6.18.* (incl.)
  • unaffected from 7.2.8 to 7.2.* (incl.)
  • unaffected from 7.3-rc4 to * (incl.)

References