In the Linux kernel, the following vulnerability has been resolved:
Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag
syzbot is reporting hung task at __input_unregister_device() [1], for iforce_close() waiting at wait_event_interruptible() with dev->mutex held is blocking input_disconnect_device() from __input_unregister_device().
It seems that the cause is simply that commit c2b27ef672992a20 ("Input: iforce - wait for command completion when closing the device") forgot to call wake_up() after clear_bit().
Fix this problem by introducing a helper that calls clear_bit() followed by wake_up_all().
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 2.6.34 | 5.4.213 |
| linux / linux_kernel | 5.5 | 5.10.142 |
| linux / linux_kernel | 5.11 | 5.15.66 |
| linux / linux_kernel | 5.16 | 5.19.8 |
| linux / linux_kernel | 2.6.33 | 2.6.33.x |
| linux / linux_kernel | 2.6.33-rc3 | 2.6.33-rc3.x |
| linux / linux_kernel | 2.6.33-rc4 | 2.6.33-rc4.x |
| linux / linux_kernel | 2.6.33-rc5 | 2.6.33-rc5.x |
| linux / linux_kernel | 2.6.33-rc6 | 2.6.33-rc6.x |
| linux / linux_kernel | 2.6.33-rc7 | 2.6.33-rc7.x |
| linux / linux_kernel | 2.6.33-rc8 | 2.6.33-rc8.x |
| linux / linux_kernel | 6.0-rc1 | 6.0-rc1.x |
| linux / linux_kernel | 6.0-rc2 | 6.0-rc2.x |
| linux / linux_kernel | 6.0-rc3 | 6.0-rc3.x |