WARNING in video_unregister_device

From: syzbot
Date: Sat Dec 07 2019 - 12:35:17 EST


Hello,

syzbot found the following crash on:

HEAD commit: 1f22d15c usb: gadget: add raw-gadget interface
git tree: https://github.com/google/kasan.git usb-fuzzer
console output: https://syzkaller.appspot.com/x/log.txt?x=1486d1bce00000
kernel config: https://syzkaller.appspot.com/x/.config?x=8ccee2968018adcb
dashboard link: https://syzkaller.appspot.com/bug?extid=107e71ba620a63af4335
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1399bb7ae00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15e80e41e00000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+107e71ba620a63af4335@xxxxxxxxxxxxxxxxxxxxxxxxx

usbvision_radio_close: Final disconnect
------------[ cut here ]------------
sysfs group 'power' not found for kobject 'radio5'
WARNING: CPU: 1 PID: 1791 at fs/sysfs/group.c:278 sysfs_remove_group fs/sysfs/group.c:278 [inline]
WARNING: CPU: 1 PID: 1791 at fs/sysfs/group.c:278 sysfs_remove_group+0x155/0x1b0 fs/sysfs/group.c:269
Kernel panic - not syncing: panic_on_warn set ...
CPU: 1 PID: 1791 Comm: v4l_id Not tainted 5.4.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0xef/0x16e lib/dump_stack.c:118
panic+0x2aa/0x6e1 kernel/panic.c:221
__warn.cold+0x2f/0x30 kernel/panic.c:582
report_bug+0x27b/0x2f0 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+0x12b/0x1e0 arch/x86/kernel/traps.c:267
do_invalid_op+0x32/0x40 arch/x86/kernel/traps.c:286
invalid_op+0x23/0x30 arch/x86/entry/entry_64.S:1027
RIP: 0010:sysfs_remove_group fs/sysfs/group.c:278 [inline]
RIP: 0010:sysfs_remove_group+0x155/0x1b0 fs/sysfs/group.c:269
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 41 48 8b 33 48 c7 c7 e0 ba d0 85 e8 73 1f 87 ff <0f> 0b eb 95 e8 22 d4 d9 ff e9 d2 fe ff ff 48 89 df e8 15 d4 d9 ff
RSP: 0018:ffff8881ce73fc50 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffffffff85f34ac0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8128ebcd RDI: ffffed1039ce7f7c
RBP: 0000000000000000 R08: ffff8881cf2f1880 R09: ffffed103b6a439f
R10: ffffed103b6a439e R11: ffff8881db521cf7 R12: ffff8881ce638af8
R13: ffffffff85f35060 R14: 0000000000000000 R15: ffff8881ce638fb8
dpm_sysfs_remove+0x97/0xb0 drivers/base/power/sysfs.c:741
device_del+0x18b/0xd30 drivers/base/core.c:2641
device_unregister+0x11/0x30 drivers/base/core.c:2696
video_unregister_device+0xa2/0xc0 drivers/media/v4l2-core/v4l2-dev.c:1076
usbvision_unregister_video+0x83/0x120 drivers/media/usb/usbvision/usbvision-video.c:1244
usbvision_release+0x10d/0x1c0 drivers/media/usb/usbvision/usbvision-video.c:1357
usbvision_radio_close.cold+0x2b/0x74 drivers/media/usb/usbvision/usbvision-video.c:1130
v4l2_release+0x2e7/0x390 drivers/media/v4l2-core/v4l2-dev.c:455
__fput+0x2d7/0x840 fs/file_table.c:280
task_work_run+0x13f/0x1c0 kernel/task_work.c:113
tracehook_notify_resume include/linux/tracehook.h:188 [inline]
exit_to_usermode_loop+0x1d2/0x200 arch/x86/entry/common.c:164
prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline]
syscall_return_slowpath arch/x86/entry/common.c:278 [inline]
do_syscall_64+0x4d1/0x5b0 arch/x86/entry/common.c:304
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f0fec1542b0
Code: 40 75 0b 31 c0 48 83 c4 08 e9 0c ff ff ff 48 8d 3d c5 32 08 00 e8 c0 07 02 00 83 3d 45 a3 2b 00 00 75 10 b8 03 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 ce 8a 01 00 48 89 04 24
RSP: 002b:00007ffd13444a48 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000003 RCX: 00007f0fec1542b0
RDX: 0000000000000013 RSI: 0000000080685600 RDI: 0000000000000003
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000400884
R13: 00007ffd13444ba0 R14: 0000000000000000 R15: 0000000000000000
Kernel Offset: disabled
Rebooting in 86400 seconds..


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@xxxxxxxxxxxxxxxxx

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this bug, for details see:
https://goo.gl/tpsmEJ#testing-patches