Re: [syzbot] [input?] general protection fault in input_ff_flush

From: syzbot

Date: Fri Oct 16 2026 - 17:14:10 EST


Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
general protection fault in input_ff_flush

Warning: Permanently added '10.128.1.14' (ED25519) to the list of known hosts.
[*] Reproducer for general protection fault in input_ff_flush
[+] opendir /sys/class/udc successful.
[+] closedir /sys/class/udc successful.
[+] Using UDC device: dummy_udc.2
[+] open /dev/raw-gadget successful (fd=3).
[+] USB_RAW_IOCTL_INIT successful.
[+] pthread_create ep0_loop successful.
[+] pthread_create ep_io_loop successful.
[+] USB_RAW_IOCTL_RUN successful.
[*] Waiting for Logitech G920 to enumerate and bind...
[+] Found Logitech G920 device: 0003:046D:C262.0001
[*] Starting deterministic fault injection rebind loop (1..100)...
[+] fail_n=1: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event4, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event4.
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[+] fail_n=6: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event4, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event4.
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[+] fail_n=7: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event4, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event4.
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[*] Tested fail_n=10
[+] fail_n=12: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event4, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event4.
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[*] Tested fail_n=20
[*] Tested fail_n=30
[+] fail_n=31: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event4, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event4.
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[+] fail_n=35: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[+] fail_n=36: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[+] fail_n=37: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event4, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event4.
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.
[+] fail_n=38: bind succeeded, scanning /dev/input to trigger bug...
[*] Opened /dev/input/event4, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event4.
[*] Opened /dev/input/event3, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event3.
[*] Opened /dev/input/event2, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event2.
[*] Opened /dev/input/event1, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event1.
[*] Opened /dev/input/event0, closing now (should crash if ff teardown leaked flush)...
[*] Closed /dev/input/event0.


Tested on:

commit: 70dd4ee7 Merge tag 'pinctrl-v7.3-3' of git://git.kerne..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10fa313e580000
kernel config: https://syzkaller.appspot.com/x/.config?x=c4b098695335c89f
dashboard link: https://syzkaller.appspot.com/bug?extid=788733b16e87faa63deb
compiler: Debian clang version 22.1.8 (1~deb13u4), Debian LLD 22.1.8
patch: https://syzkaller.appspot.com/x/patch.diff?x=10df6fd1580000