Description
In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - fix GPF in suspend and resume when unbound Transport drivers (such as rmi_i2c and rmi_spi) invoke rmi_driver_suspend() and rmi_driver_resume() on their child rmi_dev device during system power management events. However, transport drivers are fully registered and operational even if the physical RMI driver failed to bind or probe the rmi_dev device. When rmi_driver_suspend() or rmi_driver_resume() is called on an unbound rmi_dev, dev_get_drvdata() returns NULL. Calling rmi_disable_irq() or rmi_enable_irq() without driver data attached causes a NULL pointer dereference and General Protection Fault when attempting to lock data->enabled_mutex. Fix this by checking if driver data is attached to rmi_dev in rmi_driver_suspend() and rmi_driver_resume(), exiting early if no driver data is present.
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
2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < 7a3d7c68aa36f68e2a4824da4782c0e5d7c4eba4affected2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < fafca210631d8c2d4311bdfccc5ec46b9fe65977affected2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < 84145a4a1dc58f8959811913c5f61f3235dd9f6caffected2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < e2b6703465c1ce43edb91c1626604b7092b3c431affected2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < 30366f507ce3e408caf7f7375bb343df54b9a4f9affected2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < fa1713dc3d43d028d6cb66e5659d9d7e83b73362affected2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < 942b06a19252908d0f952c0590caf20e47f88252affected2b6a321da9a2d8725a1d3dbb0b2e96a7618ebe56 to < fe10579b6dc3f0dac61e51e1797cacbba5039ac2affected
Linux Linux
Default version status: affected
4.6affected0 to < 4.6unaffected5.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.112 to ≤ 6.12.*unaffected6.18.54 to ≤ 6.18.*unaffected7.2.8 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/7a3d7c68aa36f68e2a4824da4782c0e5d7c4eba4 ↗
- https://git.kernel.org/stable/c/fafca210631d8c2d4311bdfccc5ec46b9fe65977 ↗
- https://git.kernel.org/stable/c/84145a4a1dc58f8959811913c5f61f3235dd9f6c ↗
- https://git.kernel.org/stable/c/e2b6703465c1ce43edb91c1626604b7092b3c431 ↗
- https://git.kernel.org/stable/c/30366f507ce3e408caf7f7375bb343df54b9a4f9 ↗
- https://git.kernel.org/stable/c/fa1713dc3d43d028d6cb66e5659d9d7e83b73362 ↗
- https://git.kernel.org/stable/c/942b06a19252908d0f952c0590caf20e47f88252 ↗
- https://git.kernel.org/stable/c/fe10579b6dc3f0dac61e51e1797cacbba5039ac2 ↗