CVE-2026-80739 PUBLISHED

net/mlx5e: TC, Check if flow is PEER before acquiring devcom lock

Assigner: Linux
Reserved: 26.08.2026 Published: 03.09.2026 Updated: 03.09.2026

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

net/mlx5e: TC, Check if flow is PEER before acquiring devcom lock

In case __mlx5e_add_fdb_flow() fails in lower levels, the flow is deleted via mlx5e_tc_del_flow(), and mlx5e_tc_del_flow() is acquiring ESW devcom lock without condition. In addition, in case of peer_flow, __mlx5e_add_fdb_flow() is called while holding ESW devcom comp lock. This results in an AA deadlock.

To fix this, introduce a new PEER flag that is set on flows created as peer flows (the duplicate flows on peer devices), and check it in mlx5e_tc_del_flow() before acquiring ESW devcom lock.

<h1>Lockdep splat:</h1> <h1>WARNING: possible recursive locking detected</h1>

Possible unsafe locking scenario: CPU0 ---- lock(&comp->lock_key#2); lock(&comp->lock_key#2); *** DEADLOCK *** Call Trace: <TASK> dump_stack_lvl+0x69/0xa0 print_deadlock_bug.cold+0xbd/0xca __lock_acquire+0x1671/0x2ec0 lock_acquire+0x10e/0x2e0 down_read+0x95/0x430 mlx5_devcom_for_each_peer_begin+0x4e/0xe0 [mlx5_core] mlx5e_tc_del_flow+0x11d/0xa70 [mlx5_core] mlx5e_flow_put+0x99/0x100 [mlx5_core] __mlx5e_add_fdb_flow+0x409/0xf00 [mlx5_core] mlx5e_configure_flower+0x2a86/0x4100 [mlx5_core] mlx5e_rep_setup_tc_cls_flower+0x12f/0x1b0 [mlx5_core] mlx5e_rep_setup_tc_cb+0x153/0x750 [mlx5_core] tc_setup_cb_add+0x1dc/0x470 fl_change+0x2f4d/0x626d [cls_flower] tc_new_tfilter+0x79b/0x2310 rtnetlink_rcv_msg+0x778/0xad0 do_syscall_64+0x70/0x960 entry_SYSCALL_64_after_hwframe+0x4b/0x53 </TASK>

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to 607adbda01053abf5f93e322fe39325da8828cb8 (excl.)
  • affected from 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to 585df8643081e6f616579bc52cd49ac823a57c82 (excl.)
  • affected from 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to ff9e7d5e3500be389ce7a0e46db3a77149830bc9 (excl.)
  • affected from 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to 7165fe321c61ec138850c02f030f274797761f5f (excl.)
  • affected from 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to 6ddfba2ea98db21b001e0e5c472499156224650c (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.0 is affected
  • unaffected from 0 to 5.0 (excl.)
  • unaffected from 6.6.152 to 6.6.* (incl.)
  • unaffected from 6.12.104 to 6.12.* (incl.)
  • unaffected from 6.18.45 to 6.18.* (incl.)
  • unaffected from 7.1.9 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References