bisecting cause commit starting from 52e44129fba5cfc4e351fdb5e45849afc74d9a53 building syzkaller on bfeda1b1077c9ffe6f9597cbae4b6a5d747b4695 testing commit 52e44129fba5cfc4e351fdb5e45849afc74d9a53 with gcc (GCC) 10.2.1 20210217 kernel signature: 98a1d4864b19ad23dd9531bcf7e6a1c6f129d48811b813f1fbaa59d1d0d00b90 all runs: crashed: WARNING in firmware_fallback_sysfs testing release v5.11 testing commit f40ddce88593482919761f74910f42f4b84c004b with gcc (GCC) 10.2.1 20210217 kernel signature: 44f58b074a2b4030a1bedf2f1cdddcbbe15c92ffea3b784ca4f9f31b88987f51 all runs: crashed: WARNING in firmware_fallback_sysfs testing release v5.10 testing commit 2c85ebc57b3e1817b6ce1a6b703928e113a90442 with gcc (GCC) 10.2.1 20210217 kernel signature: 4742733baa9bf82e241d783d026dc2511126290e27e7df12714b205c43255576 all runs: crashed: WARNING in firmware_fallback_sysfs testing release v5.9 testing commit bbf5c979011a099af5dc76498918ed7df445635b with gcc (GCC) 10.2.1 20210217 kernel signature: c5db40808f8354789d304b4248372764a0a9e3bd6067aa6a6a0663ace87ac3ea all runs: crashed: WARNING in firmware_fallback_sysfs testing release v5.8 testing commit bcf876870b95592b52519ed4aafcf9d95999bc9c with gcc (GCC) 8.4.1 20210217 kernel signature: 5d5db905a29e886d4efedddc7c045cb6d7fa040cd3d9de48e0aa78c1d3357e75 run #0: crashed: WARNING in firmware_fallback_sysfs run #1: crashed: WARNING in firmware_fallback_sysfs run #2: crashed: WARNING in firmware_fallback_sysfs run #3: crashed: WARNING in firmware_fallback_sysfs run #4: crashed: WARNING in firmware_fallback_sysfs run #5: crashed: WARNING in firmware_fallback_sysfs run #6: crashed: WARNING in firmware_fallback_sysfs run #7: crashed: WARNING in firmware_fallback_sysfs run #8: crashed: WARNING in firmware_fallback_sysfs run #9: OK testing release v5.7 testing commit 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 with gcc (GCC) 8.4.1 20210217 kernel signature: 694927f270c924473baa1645cf3e46211382cdeb91db268c2363cc6797b41fe8 run #0: crashed: WARNING in firmware_fallback_sysfs run #1: crashed: WARNING in firmware_fallback_sysfs run #2: crashed: WARNING in firmware_fallback_sysfs run #3: crashed: WARNING in firmware_fallback_sysfs run #4: crashed: WARNING in firmware_fallback_sysfs run #5: crashed: WARNING in firmware_fallback_sysfs run #6: crashed: WARNING in firmware_fallback_sysfs run #7: crashed: WARNING in firmware_fallback_sysfs run #8: crashed: WARNING in firmware_fallback_sysfs run #9: OK testing release v5.6 testing commit 7111951b8d4973bda27ff663f2cf18b663d15b48 with gcc (GCC) 8.4.1 20210217 kernel signature: 465f1dc5ded474a9ba5e43cca9cc1f09bb05d55f63916e1ebe569728cad5a636 all runs: OK # git bisect start 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 7111951b8d4973bda27ff663f2cf18b663d15b48 Bisecting: 7542 revisions left to test after this (roughly 13 steps) [50a5de895dbe5df947b3a695777db5b2c313e065] Merge tag 'for-linus-hmm' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma testing commit 50a5de895dbe5df947b3a695777db5b2c313e065 with gcc (GCC) 8.4.1 20210217 kernel signature: 82fc33fcd1a72091be87adac02ee32c9d7c3c8e155e1314441ffb336b1557f41 run #0: crashed: WARNING in firmware_fallback_sysfs run #1: crashed: WARNING in firmware_fallback_sysfs run #2: crashed: WARNING in firmware_fallback_sysfs run #3: crashed: WARNING in firmware_fallback_sysfs run #4: crashed: WARNING in firmware_fallback_sysfs run #5: crashed: WARNING in firmware_fallback_sysfs run #6: crashed: WARNING in firmware_fallback_sysfs run #7: crashed: WARNING in firmware_fallback_sysfs run #8: crashed: WARNING in firmware_fallback_sysfs run #9: OK # git bisect bad 50a5de895dbe5df947b3a695777db5b2c313e065 Bisecting: 4204 revisions left to test after this (roughly 12 steps) [56a451b780676bc1cdac011735fe2869fa2e9abf] Merge tag 'ntb-5.7' of git://github.com/jonmason/ntb testing commit 56a451b780676bc1cdac011735fe2869fa2e9abf with gcc (GCC) 8.4.1 20210217 kernel signature: cf688eeee575ac03248e19a8f6e5fc7907a999f77a3a6978e1b23d4bd483c9bb all runs: crashed: WARNING in firmware_fallback_sysfs # git bisect bad 56a451b780676bc1cdac011735fe2869fa2e9abf Bisecting: 1643 revisions left to test after this (roughly 11 steps) [49835c15a55225e9b3ff9cc9317135b334ea2d49] Merge tag 'pm-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm testing commit 49835c15a55225e9b3ff9cc9317135b334ea2d49 with gcc (GCC) 8.4.1 20210217 kernel signature: 30a0b0502f6c9ed305d53bed23ad3142c60d03e6f104a9bcde2356c4e5711ed9 run #0: crashed: WARNING in firmware_fallback_sysfs run #1: crashed: WARNING in firmware_fallback_sysfs run #2: crashed: WARNING in firmware_fallback_sysfs run #3: crashed: WARNING in firmware_fallback_sysfs run #4: crashed: WARNING in firmware_fallback_sysfs run #5: crashed: WARNING in firmware_fallback_sysfs run #6: crashed: WARNING in firmware_fallback_sysfs run #7: crashed: WARNING in firmware_fallback_sysfs run #8: crashed: WARNING in firmware_fallback_sysfs run #9: OK # git bisect bad 49835c15a55225e9b3ff9cc9317135b334ea2d49 Bisecting: 934 revisions left to test after this (roughly 10 steps) [063d1942247668eb0bb800aef5afbbef337344be] Merge tag 'media/v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media testing commit 063d1942247668eb0bb800aef5afbbef337344be with gcc (GCC) 8.4.1 20210217 kernel signature: 895e6258c9d8402b2e4818920d141045897f4710ac660aaf6fddd7261fc10e55 all runs: OK # git bisect good 063d1942247668eb0bb800aef5afbbef337344be Bisecting: 516 revisions left to test after this (roughly 9 steps) [e681bb287f40e7a9dbcb04cef80fd87a2511ab86] staging: vt6656: Use DIV_ROUND_UP macro instead of specific code testing commit e681bb287f40e7a9dbcb04cef80fd87a2511ab86 with gcc (GCC) 8.4.1 20210217 kernel signature: 1f57221947e27ca17c3e8db8f372979b33c6b2ef12e545b39e605742eb5cf7ea all runs: OK # git bisect good e681bb287f40e7a9dbcb04cef80fd87a2511ab86 Bisecting: 266 revisions left to test after this (roughly 8 steps) [db34c5ffee649e2c4c870d1031a996398a187cf5] Merge tag 'usb-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb testing commit db34c5ffee649e2c4c870d1031a996398a187cf5 with gcc (GCC) 8.4.1 20210217 kernel signature: ac2137bb627e53570a1016e7a20d76fd8c8b50b65f639e4ede6c4d0be4de8177 all runs: crashed: WARNING in firmware_fallback_sysfs # git bisect bad db34c5ffee649e2c4c870d1031a996398a187cf5 Bisecting: 121 revisions left to test after this (roughly 7 steps) [a8ab3e76297ea85d92f4ee0833bd469816a13ccf] Merge tag 'usb-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next testing commit a8ab3e76297ea85d92f4ee0833bd469816a13ccf with gcc (GCC) 8.4.1 20210217 kernel signature: c10f2282bd25813e8d98e99e870c6b0cbf382cab95bd3f52e25e78b004c35021 run #0: crashed: WARNING in firmware_fallback_sysfs run #1: crashed: WARNING in firmware_fallback_sysfs run #2: crashed: WARNING in firmware_fallback_sysfs run #3: crashed: WARNING in firmware_fallback_sysfs run #4: crashed: WARNING in firmware_fallback_sysfs run #5: crashed: WARNING in firmware_fallback_sysfs run #6: crashed: WARNING in firmware_fallback_sysfs run #7: crashed: WARNING in firmware_fallback_sysfs run #8: OK run #9: OK # git bisect bad a8ab3e76297ea85d92f4ee0833bd469816a13ccf Bisecting: 63 revisions left to test after this (roughly 6 steps) [d1c6a769cdf466053ae211789f2b0671c8a72331] usb: typec: mux: Allow the mux handles to be requested with fwnode testing commit d1c6a769cdf466053ae211789f2b0671c8a72331 with gcc (GCC) 8.4.1 20210217 kernel signature: 46ab4c0583b4e01c8d32280c9687db47909d14e0521762fa53137bd8e56e4387 all runs: OK # git bisect good d1c6a769cdf466053ae211789f2b0671c8a72331 Bisecting: 31 revisions left to test after this (roughly 5 steps) [eeead847487f726fa177d0f4060c4f0816ad9cd9] usb: gadget: amd5536udc: fix spelling mistake "reserverd" -> "reserved" testing commit eeead847487f726fa177d0f4060c4f0816ad9cd9 with gcc (GCC) 8.4.1 20210217 kernel signature: 815093177c0f75816acd3d9d1f46269acafe442fc5332fbb51fc8b2908d063c7 run #0: crashed: WARNING in firmware_fallback_sysfs run #1: crashed: WARNING in firmware_fallback_sysfs run #2: crashed: WARNING in firmware_fallback_sysfs run #3: crashed: WARNING in firmware_fallback_sysfs run #4: crashed: WARNING in firmware_fallback_sysfs run #5: crashed: WARNING in firmware_fallback_sysfs run #6: crashed: WARNING in firmware_fallback_sysfs run #7: crashed: WARNING in firmware_fallback_sysfs run #8: crashed: WARNING in firmware_fallback_sysfs run #9: OK # git bisect bad eeead847487f726fa177d0f4060c4f0816ad9cd9 Bisecting: 15 revisions left to test after this (roughly 4 steps) [3d157c28d2289edf0439e8308e8de3a06acaaf0e] doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode testing commit 3d157c28d2289edf0439e8308e8de3a06acaaf0e with gcc (GCC) 8.4.1 20210217 kernel signature: b962432cad02dd6e2298c10aa9321cf79b3cd5f34062e043530783c4a08301ef all runs: OK # git bisect good 3d157c28d2289edf0439e8308e8de3a06acaaf0e Bisecting: 7 revisions left to test after this (roughly 3 steps) [0227cc84c44417a29c8102e41db8ec2c11ebc6b2] usb: dwc3: core: don't do suspend for device mode if already suspended testing commit 0227cc84c44417a29c8102e41db8ec2c11ebc6b2 with gcc (GCC) 8.4.1 20210217 kernel signature: 5b33d340c978bf93982cf6a54c67a0e31dd1fb1f4084151363af6fb763e8c3dc all runs: OK # git bisect good 0227cc84c44417a29c8102e41db8ec2c11ebc6b2 Bisecting: 3 revisions left to test after this (roughly 2 steps) [95b18f28979e12539cc02f6ec4e2c776e8551f39] dt-bindings: usb: dwc2: add compatible property for rk3328 usb testing commit 95b18f28979e12539cc02f6ec4e2c776e8551f39 with gcc (GCC) 8.4.1 20210217 kernel signature: c8e51fea11943e1455e7d34e7399e7611cae289b79cd45965b12eb868e18802d all runs: crashed: WARNING in firmware_fallback_sysfs # git bisect bad 95b18f28979e12539cc02f6ec4e2c776e8551f39 Bisecting: 1 revision left to test after this (roughly 1 step) [1a0808cb9e417170ed6ab97254cf319dc3e3c310] usb: dwc2: Implement set_selfpowered() testing commit 1a0808cb9e417170ed6ab97254cf319dc3e3c310 with gcc (GCC) 8.4.1 20210217 kernel signature: 5b33d340c978bf93982cf6a54c67a0e31dd1fb1f4084151363af6fb763e8c3dc all runs: OK # git bisect good 1a0808cb9e417170ed6ab97254cf319dc3e3c310 Bisecting: 0 revisions left to test after this (roughly 0 steps) [f2c2e717642c66f7fe7e5dd69b2e8ff5849f4d10] usb: gadget: add raw-gadget interface testing commit f2c2e717642c66f7fe7e5dd69b2e8ff5849f4d10 with gcc (GCC) 8.4.1 20210217 kernel signature: c8e51fea11943e1455e7d34e7399e7611cae289b79cd45965b12eb868e18802d run #0: crashed: WARNING in firmware_fallback_sysfs run #1: crashed: WARNING in firmware_fallback_sysfs run #2: crashed: WARNING in firmware_fallback_sysfs run #3: crashed: WARNING in firmware_fallback_sysfs run #4: crashed: WARNING in firmware_fallback_sysfs run #5: crashed: WARNING in firmware_fallback_sysfs run #6: crashed: WARNING in firmware_fallback_sysfs run #7: OK run #8: OK run #9: OK # git bisect bad f2c2e717642c66f7fe7e5dd69b2e8ff5849f4d10 f2c2e717642c66f7fe7e5dd69b2e8ff5849f4d10 is the first bad commit commit f2c2e717642c66f7fe7e5dd69b2e8ff5849f4d10 Author: Andrey Konovalov Date: Mon Feb 24 17:13:03 2020 +0100 usb: gadget: add raw-gadget interface USB Raw Gadget is a kernel module that provides a userspace interface for the USB Gadget subsystem. Essentially it allows to emulate USB devices from userspace. Enabled with CONFIG_USB_RAW_GADGET. Raw Gadget is currently a strictly debugging feature and shouldn't be used in production. Raw Gadget is similar to GadgetFS, but provides a more low-level and direct access to the USB Gadget layer for the userspace. The key differences are: 1. Every USB request is passed to the userspace to get a response, while GadgetFS responds to some USB requests internally based on the provided descriptors. However note, that the UDC driver might respond to some requests on its own and never forward them to the Gadget layer. 2. GadgetFS performs some sanity checks on the provided USB descriptors, while Raw Gadget allows you to provide arbitrary data as responses to USB requests. 3. Raw Gadget provides a way to select a UDC device/driver to bind to, while GadgetFS currently binds to the first available UDC. 4. Raw Gadget uses predictable endpoint names (handles) across different UDCs (as long as UDCs have enough endpoints of each required transfer type). 5. Raw Gadget has ioctl-based interface instead of a filesystem-based one. Reviewed-by: Greg Kroah-Hartman Signed-off-by: Andrey Konovalov Signed-off-by: Felipe Balbi Documentation/usb/index.rst | 1 + Documentation/usb/raw-gadget.rst | 61 ++ drivers/usb/gadget/legacy/Kconfig | 11 + drivers/usb/gadget/legacy/Makefile | 1 + drivers/usb/gadget/legacy/raw_gadget.c | 1078 ++++++++++++++++++++++++++++++++ include/uapi/linux/usb/raw_gadget.h | 167 +++++ 6 files changed, 1319 insertions(+) create mode 100644 Documentation/usb/raw-gadget.rst create mode 100644 drivers/usb/gadget/legacy/raw_gadget.c create mode 100644 include/uapi/linux/usb/raw_gadget.h culprit signature: c8e51fea11943e1455e7d34e7399e7611cae289b79cd45965b12eb868e18802d parent signature: 5b33d340c978bf93982cf6a54c67a0e31dd1fb1f4084151363af6fb763e8c3dc revisions tested: 21, total time: 6h9m34.15344394s (build: 2h24m58.961719229s, test: 3h41m38.45419394s) first bad commit: f2c2e717642c66f7fe7e5dd69b2e8ff5849f4d10 usb: gadget: add raw-gadget interface recipients (to): ["andreyknvl@google.com" "balbi@kernel.org" "gregkh@linuxfoundation.org"] recipients (cc): [] crash: WARNING in firmware_fallback_sysfs sysfs group 'power' not found for kobject 'ueagle-atm!adi930.fw' WARNING: CPU: 0 PID: 10755 at fs/sysfs/group.c:280 sysfs_remove_group+0xf2/0x140 fs/sysfs/group.c:278 Kernel panic - not syncing: panic_on_warn set ... CPU: 0 PID: 10755 Comm: kworker/0:6 Not tainted 5.6.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events request_firmware_work_func Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x96/0xe0 lib/dump_stack.c:118 panic+0x2a1/0x52a kernel/panic.c:221 __warn.cold.10+0x25/0x2f kernel/panic.c:582 report_bug+0x1aa/0x260 lib/bug.c:195 fixup_bug arch/x86/kernel/traps.c:174 [inline] fixup_bug arch/x86/kernel/traps.c:169 [inline] do_error_trap+0x12d/0x1e0 arch/x86/kernel/traps.c:267 do_invalid_op+0x31/0x40 arch/x86/kernel/traps.c:286 invalid_op+0x2d/0x40 arch/x86/entry/entry_64.S:1027 RIP: 0010:sysfs_remove_group+0xf2/0x140 fs/sysfs/group.c:278 Code: 48 89 d9 49 8b 14 24 48 b8 00 00 00 00 00 fc ff df 48 c1 e9 03 80 3c 01 00 75 3e 48 8b 33 48 c7 c7 20 4b 79 88 e8 2a 20 6e ff <0f> 0b 48 83 c4 08 5b 5d 41 5c c3 e8 ae 61 d1 ff e9 26 ff ff ff 48 RSP: 0018:ffffc9000960fb28 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffffffff88cea7e0 RCX: 0000000000000000 RDX: 0000000000000001 RSI: ffffffff89de9fc0 RDI: ffffffff8e4d8220 RBP: 0000000000000000 R08: ffffed10173c6479 R09: ffffed10173c6479 R10: ffffed10173c6478 R11: ffff8880b9e323c7 R12: ffff8880a0515008 R13: 1ffff920012c1f6f R14: ffff8880a0515000 R15: ffff8880a0515008 device_del+0x173/0xc00 drivers/base/core.c:2654 fw_load_sysfs_fallback drivers/base/firmware_loader/fallback.c:542 [inline] fw_load_from_user_helper drivers/base/firmware_loader/fallback.c:580 [inline] firmware_fallback_sysfs+0x6ad/0x9df drivers/base/firmware_loader/fallback.c:655 _request_firmware+0x53d/0xc20 drivers/base/firmware_loader/main.c:784 request_firmware_work_func+0xd3/0x23e drivers/base/firmware_loader/main.c:974 process_one_work+0x8ff/0x1690 kernel/workqueue.c:2264 worker_thread+0x82/0xb50 kernel/workqueue.c:2410 kthread+0x31d/0x3e0 kernel/kthread.c:255 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 Kernel Offset: disabled Rebooting in 86400 seconds..