CVE-2026-80739

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

State
Published
Severity
Not scored
Published
Sep 3, 2026
Updated
Oct 30, 2026
Reserved
Aug 26, 2026

Read the record on cve.org

Description

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.

Lockdep splat: ============================================ WARNING: possible recursive locking detected ============================================ 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>

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to before ead5145d290a918b7c3c3141a64b3f827a9e1b6bAffected
  • 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to before 607adbda01053abf5f93e322fe39325da8828cb8Affected
  • 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to before 585df8643081e6f616579bc52cd49ac823a57c82Affected
  • 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to before ff9e7d5e3500be389ce7a0e46db3a77149830bc9Affected
  • 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to before 7165fe321c61ec138850c02f030f274797761f5fAffected
  • 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d to before 6ddfba2ea98db21b001e0e5c472499156224650cAffected
LinuxLinux
  • 5.0Affected
  • before 5.0Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.152 through 6.6.*Not affected
  • 6.12.104 through 6.12.*Not affected
  • 6.18.45 through 6.18.*Not affected
  • 7.1.9 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.