CVE-2026-97436: dpaa2-switch: rework FDB management on the bridge leave path
In the Linux kernel, the following vulnerability has been resolved:
dpaa2-switch: rework FDB management on the bridge leave path
On bridge leave, the dpaa2switchportsetfdb() function always allocates a new FDB for the port which is becoming standalone. In case no FDB is found, then the port leaving a bridge will continue to use the current one.
The above logic does not cover the case in which there are multiple bridges which have ports from the same DPSW instance. In this case, when the last port leaves bridge #1, it finds an unused FDB to switch to, but the old FDB is not marked as unused. Since the number of FDBs is equal to the number of DPSW interfaces, this will eventually lead to multiple ports sharing the same FDB.
Fix this by changing how we are managing the FDBs on the leave path. Instead of directly allocating a new FDB, first verify if the current port is the last one to leave a bridge. If this is the case, then continue to use the current FDB and only allocate another FDB if there are other ports remaining in the bridge.
Affected Software
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems using the Linux kernel dpaa2-switch driver with a DPSW instance whose ports participate in multiple bridges are exposed. The failure develops as ports leave bridges and FDB assignments are reused incorrectly.
What conditions are needed to trigger the incorrect FDB sharing?
The DPSW instance must have ports associated with more than one bridge, and bridge-leave operations must occur. In particular, when the last port leaves one bridge, the prior logic could fail to mark the old FDB unused, eventually causing multiple ports to share an FDB.
How can I tell whether the issue has occurred?
The described symptom is multiple ports sharing the same FDB after bridge membership changes. Review FDB allocation and bridge-leave behavior on affected DPSW instances, especially where multiple bridges use ports from the same instance.