Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: net: gre: fix lltx regression for GRE tunnels with SEQ/CSUM Before commit 00d066a4d4ed ("netdev_features: convert NETIF_F_LLTX to dev->lltx"), NETIF_F_LLTX was set unconditionally in both __gre_tunnel_init() and ip6gre_tnl_init_features() alongside GRE_FEATURES: dev->features |= GRE_FEATURES | NETIF_F_LLTX; When that commit converted NETIF_F_LLTX to the dev->lltx flag, it placed 'dev->lltx = true' after the SEQ/CSUM early returns instead of before them. This causes GRE/GRETAP/ip6gre tunnels with SEQ or CSUM+encap to lose lockless TX, reintroducing _xmit_lock acquisition around their ndo_start_xmit. Since GRE xmit re-enters the stack via ip_tunnel_xmit(), holding _xmit_lock risks ABBA deadlock with the underlay device. CPU0 CPU1 ---- ---- lock(&qdisc_xmit_lock_key#6); lock(&qdisc_xmit_lock_key#3); lock(&qdisc_xmit_lock_key#6); lock(&qdisc_xmit_lock_key#3); Fix by moving dev->lltx = true before the early returns in both functions, restoring the original unconditional behavior.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 00d066a4d4edbe559ba6c35153da71d4b2b8a383 before 9f948e9aede9678f4103457daf2bc9dd54c65a06; affected 00d066a4d4edbe559ba6c35153da71d4b2b8a383 before 15a1c5f2ed2eeb3daad8d5766fd506aeda4710f3; affected 00d066a4d4edbe559ba6c35153da71d4b2b8a383 before 2bffe379023512d280337c70faeb6a8cc435db5e; affected 00d066a4d4edbe559ba6c35153da71d4b2b8a383 before 675ed582c1aa4d919dd535490de08c015005c653 |
| Linux / Linux | affected 6.12; unaffected 0 before 6.12; unaffected 6.12.101 through 6.12.*; unaffected 6.18.42 through 6.18.*; unaffected 7.1.6 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.