Description
In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work via schedule_delayed_work(); that work is cleared by a devm callback. Register the devm callback before devm_request_irq() so the devres LIFO teardown frees the IRQ first, ensuring the handler can no longer queue work by the time the workqueue is cleared. Otherwise the handler could re-arm the work and run it after the xadc structure has been freed. This issue was found by an in-house static analysis tool.
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
2a9685d1a3b7644ca08d8355fc238b43faef7c3e to < 012451d72c12293918617ff98cc737bedad21910affected2a9685d1a3b7644ca08d8355fc238b43faef7c3e to < a29d385ad7b340c952a3935af2b33488db1eb3a6affected2a9685d1a3b7644ca08d8355fc238b43faef7c3e to < a5fe2d1b55faba6d00fd87ad491b6cb603046304affected2a9685d1a3b7644ca08d8355fc238b43faef7c3e to < 49ea8a359e362bfbb32a647c8eb7962fbb37234eaffected2a9685d1a3b7644ca08d8355fc238b43faef7c3e to < 0f3f427076240e75ff265e61645627a71ca4918caffectede96eb8853f334f96312968e4f01c5a452db54c00affected5.10.200 to < 5.11affected
Linux Linux
Default version status: affected
5.12affected0 to < 5.12unaffected6.6.160 to ≤ 6.6.*unaffected6.12.113 to ≤ 6.12.*unaffected6.18.56 to ≤ 6.18.*unaffected7.2.10 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/012451d72c12293918617ff98cc737bedad21910 ↗
- https://git.kernel.org/stable/c/a29d385ad7b340c952a3935af2b33488db1eb3a6 ↗
- https://git.kernel.org/stable/c/a5fe2d1b55faba6d00fd87ad491b6cb603046304 ↗
- https://git.kernel.org/stable/c/49ea8a359e362bfbb32a647c8eb7962fbb37234e ↗
- https://git.kernel.org/stable/c/0f3f427076240e75ff265e61645627a71ca4918c ↗