Description
In the Linux kernel, the following vulnerability has been resolved: i2c: imx: Cancel hrtimer before clearing slave pointer In i2c_imx_unreg_slave(), the slave pointer is set to NULL after disabling interrupts. However, a pending interrupt might already have started the hrtimer (i2c_imx_slave_timeout) before the pointer was cleared. If the hrtimer fires after i2c_imx->slave is set to NULL, the timer callback i2c_imx_slave_finish_op() will call i2c_imx_slave_event() with a NULL slave pointer, which results in a use-after-free / NULL pointer dereference. Fix by canceling the hrtimer and waiting for it to complete after disabling interrupts, before clearing the slave pointer.
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
f7414cd6923fd7f78e57086fc964ba2dc25db5c1 to < e3da77bdb4015051656bb472c295656bbea03b6faffectedf7414cd6923fd7f78e57086fc964ba2dc25db5c1 to < 470fe15fb3bb2eba6629be301ca7e991ee3cfb7eaffectedf7414cd6923fd7f78e57086fc964ba2dc25db5c1 to < a8a1f9ac3d763e721586f15479ef9140b216ddf3affectedf7414cd6923fd7f78e57086fc964ba2dc25db5c1 to < 753060f2b77ff2f386addbd3ecadb95b9f90cdddaffectedf7414cd6923fd7f78e57086fc964ba2dc25db5c1 to < affd62f5719a78135b7441aa49c8cab3c3b5e838affectedf7414cd6923fd7f78e57086fc964ba2dc25db5c1 to < dab4762ee7f3fd0a01980d5407ba48d0261d3bffaffectedf7414cd6923fd7f78e57086fc964ba2dc25db5c1 to < 6ac7702b6cc2b94aaed9ef2d95bfbefcdc90061faffected
Linux Linux
Default version status: affected
5.11affected0 to < 5.11unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 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/e3da77bdb4015051656bb472c295656bbea03b6f ↗
- https://git.kernel.org/stable/c/470fe15fb3bb2eba6629be301ca7e991ee3cfb7e ↗
- https://git.kernel.org/stable/c/a8a1f9ac3d763e721586f15479ef9140b216ddf3 ↗
- https://git.kernel.org/stable/c/753060f2b77ff2f386addbd3ecadb95b9f90cddd ↗
- https://git.kernel.org/stable/c/affd62f5719a78135b7441aa49c8cab3c3b5e838 ↗
- https://git.kernel.org/stable/c/dab4762ee7f3fd0a01980d5407ba48d0261d3bff ↗
- https://git.kernel.org/stable/c/6ac7702b6cc2b94aaed9ef2d95bfbefcdc90061f ↗