Description
In the Linux kernel, the following vulnerability has been resolved: net: ibm: emac: mal: fix potential system hang in mal_remove() napi_disable() is not idempotent and calling it on an already-disabled or unenabled NAPI context will cause the kernel to spin indefinitely waiting for the NAPI_STATE_SCHED bit to clear. In mal_remove(), napi_disable() is called unconditionally. If no MACs were registered, NAPI was never enabled. Also, if they were registered but subsequently unregistered, NAPI was already disabled in mal_unregister_commac(). In either case, calling napi_disable() causes the kernel to hang upon module removal. Fix this by only calling napi_disable() in mal_remove() if the commac list is not empty (which implies NAPI is enabled).
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
b3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 to < 9c1c814a662d9c81959eba591bb52b24639390f2affectedb3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 to < 34c4cae51718d6f393415e01c61314c1bde02f2eaffectedb3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 to < 62126e73e230cf4bd6c27cf201949c4290af84a1affectedb3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 to < f0399b3e212741bc5a64b8399d6266c4a150bdfeaffectedb3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 to < f6c1aad9b35fa083f48ce0c5926204891d82e089affectedb3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 to < c4cb9a728df66c46067b26263f5beb633aae4087affectedb3e441c6ed8655a42e7b4da1b6dc7939f259d9c9 to < 7c5d41f87f079990bf241359e3c1332d8d10fe87affected
Linux Linux
Default version status: affected
2.6.24affected0 to < 2.6.24unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/9c1c814a662d9c81959eba591bb52b24639390f2 ↗
- https://git.kernel.org/stable/c/34c4cae51718d6f393415e01c61314c1bde02f2e ↗
- https://git.kernel.org/stable/c/62126e73e230cf4bd6c27cf201949c4290af84a1 ↗
- https://git.kernel.org/stable/c/f0399b3e212741bc5a64b8399d6266c4a150bdfe ↗
- https://git.kernel.org/stable/c/f6c1aad9b35fa083f48ce0c5926204891d82e089 ↗
- https://git.kernel.org/stable/c/c4cb9a728df66c46067b26263f5beb633aae4087 ↗
- https://git.kernel.org/stable/c/7c5d41f87f079990bf241359e3c1332d8d10fe87 ↗