net/mlx5e: TC, Check if flow is PEER before acquiring devcom lock (Linux Linux)
En bref
- Source
- NVD
- EPSS
- EPSS 0.17 % · centile 7 ()
- État
- PUBLISHED
- Publiée
- Mise à jour
- Attribuée par
- Linux
- Statut NVD
- Received
Rechercher sur…
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>
Références
- https://git.kernel.org/stable/c/ead5145d290a918b7c3c3141a64b3f827a9e1b6b
- https://git.kernel.org/stable/c/607adbda01053abf5f93e322fe39325da8828cb8
- https://git.kernel.org/stable/c/585df8643081e6f616579bc52cd49ac823a57c82
- https://git.kernel.org/stable/c/ff9e7d5e3500be389ce7a0e46db3a77149830bc9
- https://git.kernel.org/stable/c/7165fe321c61ec138850c02f030f274797761f5f
- https://git.kernel.org/stable/c/6ddfba2ea98db21b001e0e5c472499156224650c
Références européennes
- ENISA EUVD · EUVD-2026-70343
- GCVE · GCVE-0-2026-80739
Avis du CERT-FR
- CERTFR-2026-AVI-1372 — Multiples vulnérabilités dans les produits SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1335 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1255 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1232 — Multiples vulnérabilités dans le noyau Linux de Debian LTS · cert.ssi.gouv.fr
Produits affectés
| Produit | Versions |
|---|---|
| Linux · Linux | affected 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d < ead5145d290a918b7c3c3141a64b3f827a9e1b6b ; affected 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d < 607adbda01053abf5f93e322fe39325da8828cb8 ; affected 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d < 585df8643081e6f616579bc52cd49ac823a57c82 ; affected 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d < ff9e7d5e3500be389ce7a0e46db3a77149830bc9 ; affected 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d < 7165fe321c61ec138850c02f030f274797761f5f ; affected 04de7dda7394fa9c2b0fc9cec65661d9b4f0d04d < 6ddfba2ea98db21b001e0e5c472499156224650c |
| Linux · Linux | affected 5.0 ; unaffected 0 < 5.0 ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.152 ≤ 6.6.* ; unaffected 6.12.104 ≤ 6.12.* ; unaffected 6.18.45 ≤ 6.18.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |