Description
In the Linux kernel, the following vulnerability has been resolved: enic: fix tx_hang_reset use-after-free on device removal enic_remove() cancels the reset and change_mtu_work items but does not cancel tx_hang_reset. A TX timeout that fires while the device is being removed can schedule enic_tx_hang_reset() so that it runs after free_netdev(), resulting in a use-after-free. cancel_work_sync() alone is not sufficient here: the still-live watchdog and notify paths can re-schedule these work items in the window between the cancel and unregister_netdev(). Use disable_work_sync(), which cancels the work and blocks any subsequent schedule_work() from requeuing it, and apply it to the reset and change_mtu_work items as well so the same requeue race is closed for all teardown work.
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
937317c7c1097aa878a5000e3aab616eb5c590c0 to < 8619865f34fb3b130b567855382a5c4aadd522b9affected937317c7c1097aa878a5000e3aab616eb5c590c0 to < e506e704b74748ffd0e1c92a7453ca2a959f832baffected937317c7c1097aa878a5000e3aab616eb5c590c0 to < 4f3464fc6c1f26afc504fd525c574f2bc14c9d42affected937317c7c1097aa878a5000e3aab616eb5c590c0 to < ec680ea4ba1bca92a767fb7e7869758bfdd886e3affected
Linux Linux
Default version status: affected
4.4affected0 to < 4.4unaffected6.12.104 to ≤ 6.12.*unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected