UBSAN: shift-out-of-bounds in snto32
From: syzbot
Date: Sun Dec 13 2020 - 18:43:58 EST
Hello,
syzbot found the following issue on:
HEAD commit: a9e26cb5 Add linux-next specific files for 20201208
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=1198c937500000
kernel config: https://syzkaller.appspot.com/x/.config?x=e259434a8eaf0206
dashboard link: https://syzkaller.appspot.com/bug?extid=1e911ad71dd4ea72e04a
compiler: gcc (GCC) 10.1.0-syz 20200507
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13ba5f07500000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=122a9613500000
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+1e911ad71dd4ea72e04a@xxxxxxxxxxxxxxxxxxxxxxxxx
================================================================================
UBSAN: shift-out-of-bounds in drivers/hid/hid-core.c:1315:20
shift exponent 4294967295 is too large for 32-bit type 'int'
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-rc7-next-20201208-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
<IRQ>
__dump_stack lib/dump_stack.c:79 [inline]
dump_stack+0x107/0x163 lib/dump_stack.c:120
ubsan_epilogue+0xb/0x5a lib/ubsan.c:148
__ubsan_handle_shift_out_of_bounds.cold+0xb1/0x181 lib/ubsan.c:395
snto32.cold+0x37/0x3c drivers/hid/hid-core.c:1315
hid_input_field drivers/hid/hid-core.c:1548 [inline]
hid_report_raw_event+0x7a9/0x11b0 drivers/hid/hid-core.c:1783
hid_input_report+0x360/0x4c0 drivers/hid/hid-core.c:1850
hid_irq_in+0x50e/0x690 drivers/hid/usbhid/hid-core.c:284
__usb_hcd_giveback_urb+0x2b0/0x5c0 drivers/usb/core/hcd.c:1657
usb_hcd_giveback_urb+0x38c/0x430 drivers/usb/core/hcd.c:1728
dummy_timer+0x11f4/0x32a0 drivers/usb/gadget/udc/dummy_hcd.c:1971
call_timer_fn+0x1a5/0x710 kernel/time/timer.c:1417
expire_timers kernel/time/timer.c:1462 [inline]
__run_timers.part.0+0x692/0xa80 kernel/time/timer.c:1731
---
This report 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@xxxxxxxxxxxxxxxx.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches