Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag
stable inclusion from stable-v5.10.142 commit b271090eea3899399e2adcf79c9c95367d472b03 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I6CSFH Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b271090eea3899399e2adcf79c9c95367d472b03 -------------------------------- commit 98e01215 upstream. 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 c2b27ef6 ("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(). Reported-by:syzbot <syzbot+deb6abc36aad4008f407@syzkaller.appspotmail.com> Fixes: c2b27ef6 ("Input: iforce - wait for command completion when closing the device") Tested-by:
syzbot <syzbot+deb6abc36aad4008f407@syzkaller.appspotmail.com> Suggested-by:
Fabio M. De Francesco <fmdefrancesco@gmail.com> Co-developed-by:
Hillf Danton <hdanton@sina.com> Signed-off-by:
Hillf Danton <hdanton@sina.com> Signed-off-by:
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Link: https://lore.kernel.org/r/887021c3-4f13-40ce-c8b9-aa6e09faa3a7@I-love.SAKURA.ne.jp Cc: stable@vger.kernel.org Signed-off-by:
Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Jialin Zhang <zhangjialin11@huawei.com> Reviewed-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Loading
Please sign in to comment