Description
In the Linux kernel, the following vulnerability has been resolved: igc: remove napi_synchronize() in igc_down() When an AF_XDP zero-copy application is killed abruptly, the XSK pool is torn down but NAPI keeps polling. igc_clean_rx_irq_zc() then returns the full budget on every poll, so napi_complete_done() never clears NAPI_STATE_SCHED. igc_down() calls napi_synchronize() before napi_disable(), so it spins forever waiting for that bit and the interface never goes down. Drop the napi_synchronize() and let napi_disable() do the job -- it sets NAPI_STATE_DISABLE, which forces the stuck poll to complete. Reorder it ahead of igc_set_queue_napi() so the NAPI mapping is cleared only after polling has stopped, matching the recent igb fix b1e067240379.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
fc9df2a0b520d7d439ecf464794d53e91be74b93 to < ad6e0df267dc96edb7de1fa0a2fb2a70645bff86affectedfc9df2a0b520d7d439ecf464794d53e91be74b93 to < 605585a8d89aaeb0122e9016fdaa92376897a705affectedfc9df2a0b520d7d439ecf464794d53e91be74b93 to < a0f16c337691813f8d8f014c01fff5a368e08898affectedfc9df2a0b520d7d439ecf464794d53e91be74b93 to < f929a6fe5b7ae1e72d2c6d18cd69ab90dcf689d2affectedfc9df2a0b520d7d439ecf464794d53e91be74b93 to < 3b5aee6fcbf6b58112d40d19c8d31fa3f78ee668affectedfc9df2a0b520d7d439ecf464794d53e91be74b93 to < 9a2b637aef4e515c2179774888441d00e8a5ae95affectedfc9df2a0b520d7d439ecf464794d53e91be74b93 to < 5ffab5b9589c50e4cfc0cf36ffd76c89422d4019affected
Linux Linux
Default version status: affected
5.14affected0 to < 5.14unaffected5.15.217 to ≤ 5.15.*unaffected6.1.184 to ≤ 6.1.*unaffected6.6.153 to ≤ 6.6.*unaffected6.12.105 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ad6e0df267dc96edb7de1fa0a2fb2a70645bff86 ↗
- https://git.kernel.org/stable/c/605585a8d89aaeb0122e9016fdaa92376897a705 ↗
- https://git.kernel.org/stable/c/a0f16c337691813f8d8f014c01fff5a368e08898 ↗
- https://git.kernel.org/stable/c/f929a6fe5b7ae1e72d2c6d18cd69ab90dcf689d2 ↗
- https://git.kernel.org/stable/c/3b5aee6fcbf6b58112d40d19c8d31fa3f78ee668 ↗
- https://git.kernel.org/stable/c/9a2b637aef4e515c2179774888441d00e8a5ae95 ↗
- https://git.kernel.org/stable/c/5ffab5b9589c50e4cfc0cf36ffd76c89422d4019 ↗