Description
In the Linux kernel, the following vulnerability has been resolved: i2c: qcom-cci: Fix NULL pointer dereference in cci_remove() On all modern platforms Qualcomm CCI controller provides two I2C masters, and on particular boards only one I2C master may be initialized, and in such cases the device unbinding or driver removal causes a NULL pointer dereference, because cci_halt() is called for all two I2C masters, but a completion is initialized only for the single enabled master: % rmmod i2c-qcom-cci Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 <snip> Call trace: __wait_for_common+0x194/0x1a8 (P) wait_for_completion_timeout+0x20/0x2c cci_remove+0xc4/0x138 [i2c_qcom_cci] platform_remove+0x20/0x30 device_remove+0x4c/0x80 device_release_driver_internal+0x1c8/0x224 driver_detach+0x50/0x98 bus_remove_driver+0x6c/0xbc driver_unregister+0x30/0x60 platform_driver_unregister+0x14/0x20 qcom_cci_driver_exit+0x18/0x1008 [i2c_qcom_cci] ....
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
e517526195de400158e05a08764d1fb61d579105 to < e8669d12da0ade52adfe0abe96cd99e708abc9bdaffectede517526195de400158e05a08764d1fb61d579105 to < 4d2b4a9cda6837e5ee1de1290f2e773a713b71e9affectede517526195de400158e05a08764d1fb61d579105 to < a50b8adb9cdb9a495b0b45583956897b7411ed7aaffectede517526195de400158e05a08764d1fb61d579105 to < 7107627b8b35015027201e7a095a3f6e30b4a46faffectede517526195de400158e05a08764d1fb61d579105 to < 4cd206c1d57a9370d5219f7b1fc45169d7bdf951affectede517526195de400158e05a08764d1fb61d579105 to < a162a260c8c4db7501c65220e76913e8e351f823affectede517526195de400158e05a08764d1fb61d579105 to < 8ce7ff721a5e9d06d53ef65d01c89fce6d26d6ffaffectede517526195de400158e05a08764d1fb61d579105 to < 729ac5a4b966aac42e08a94dea966f4429008548affected
Linux Linux
Default version status: affected
5.8affected0 to < 5.8unaffected5.10.259 to ≤ 5.10.*unaffected5.15.210 to ≤ 5.15.*unaffected6.1.176 to ≤ 6.1.*unaffected6.6.143 to ≤ 6.6.*unaffected6.12.94 to ≤ 6.12.*unaffected6.18.36 to ≤ 6.18.*unaffected7.0.13 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/e8669d12da0ade52adfe0abe96cd99e708abc9bd ↗
- https://git.kernel.org/stable/c/4d2b4a9cda6837e5ee1de1290f2e773a713b71e9 ↗
- https://git.kernel.org/stable/c/a50b8adb9cdb9a495b0b45583956897b7411ed7a ↗
- https://git.kernel.org/stable/c/7107627b8b35015027201e7a095a3f6e30b4a46f ↗
- https://git.kernel.org/stable/c/4cd206c1d57a9370d5219f7b1fc45169d7bdf951 ↗
- https://git.kernel.org/stable/c/a162a260c8c4db7501c65220e76913e8e351f823 ↗
- https://git.kernel.org/stable/c/8ce7ff721a5e9d06d53ef65d01c89fce6d26d6ff ↗
- https://git.kernel.org/stable/c/729ac5a4b966aac42e08a94dea966f4429008548 ↗