lkml.org 
[lkml]   [2021]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
Subject[syzbot] divide error in mwifiex_usb_dnld_fw
From
Hello,

syzbot found the following issue on:

HEAD commit: 660a92a59b9e usb: xhci: Enable runtime-pm by default on AM..
git tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
console output: https://syzkaller.appspot.com/x/log.txt?x=13844eecb00000
kernel config: https://syzkaller.appspot.com/x/.config?x=5016916cdc0a4a84
dashboard link: https://syzkaller.appspot.com/bug?extid=4e7b6c94d22f4bfca9a0
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=122d9278b00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=143499ecb00000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+4e7b6c94d22f4bfca9a0@syzkaller.appspotmail.com

divide error: 0000 [#1] SMP KASAN
CPU: 1 PID: 17 Comm: kworker/1:0 Not tainted 5.15.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events request_firmware_work_func
RIP: 0010:mwifiex_write_data_sync drivers/net/wireless/marvell/mwifiex/usb.c:696 [inline]
RIP: 0010:mwifiex_prog_fw_w_helper drivers/net/wireless/marvell/mwifiex/usb.c:1437 [inline]
RIP: 0010:mwifiex_usb_dnld_fw+0xabd/0x11a0 drivers/net/wireless/marvell/mwifiex/usb.c:1518
Code: 00 00 00 48 8d bb 70 01 00 00 48 89 f8 48 c1 e8 03 42 0f b6 04 28 84 c0 74 08 3c 03 0f 8e c2 04 00 00 8b 44 24 10 31 d2 31 ff <f7> b3 70 01 00 00 89 d6 89 54 24 20 e8 f2 e9 00 fe 8b 54 24 20 8b
RSP: 0018:ffffc9000012f9b0 EFLAGS: 00010246
RAX: 0000000000000014 RBX: ffff88810a724028 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8340e60c RDI: 0000000000000000
RBP: ffff88810a8af800 R08: 0000000000000000 R09: ffff88810a8af800
R10: ffffffff8340e5d2 R11: 0000000000000000 R12: 0000000000000003
R13: dffffc0000000000 R14: ffffc9000012fa58 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff8881f6900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffc8edc7c70 CR3: 000000010d046000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
_mwifiex_fw_dpc+0x181/0x10a0 drivers/net/wireless/marvell/mwifiex/main.c:542
request_firmware_work_func+0x12c/0x230 drivers/base/firmware_loader/main.c:1081
process_one_work+0x9bf/0x1620 kernel/workqueue.c:2297
worker_thread+0x658/0x11f0 kernel/workqueue.c:2444
kthread+0x3c2/0x4a0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
Modules linked in:
---[ end trace 461e13770bd5d6b4 ]---
RIP: 0010:mwifiex_write_data_sync drivers/net/wireless/marvell/mwifiex/usb.c:696 [inline]
RIP: 0010:mwifiex_prog_fw_w_helper drivers/net/wireless/marvell/mwifiex/usb.c:1437 [inline]
RIP: 0010:mwifiex_usb_dnld_fw+0xabd/0x11a0 drivers/net/wireless/marvell/mwifiex/usb.c:1518
Code: 00 00 00 48 8d bb 70 01 00 00 48 89 f8 48 c1 e8 03 42 0f b6 04 28 84 c0 74 08 3c 03 0f 8e c2 04 00 00 8b 44 24 10 31 d2 31 ff <f7> b3 70 01 00 00 89 d6 89 54 24 20 e8 f2 e9 00 fe 8b 54 24 20 8b
RSP: 0018:ffffc9000012f9b0 EFLAGS: 00010246
RAX: 0000000000000014 RBX: ffff88810a724028 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8340e60c RDI: 0000000000000000
RBP: ffff88810a8af800 R08: 0000000000000000 R09: ffff88810a8af800
R10: ffffffff8340e5d2 R11: 0000000000000000 R12: 0000000000000003
R13: dffffc0000000000 R14: ffffc9000012fa58 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff8881f6900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffc8edc7c70 CR3: 000000010d046000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 00 00 add %al,(%rax)
2: 00 48 8d add %cl,-0x73(%rax)
5: bb 70 01 00 00 mov $0x170,%ebx
a: 48 89 f8 mov %rdi,%rax
d: 48 c1 e8 03 shr $0x3,%rax
11: 42 0f b6 04 28 movzbl (%rax,%r13,1),%eax
16: 84 c0 test %al,%al
18: 74 08 je 0x22
1a: 3c 03 cmp $0x3,%al
1c: 0f 8e c2 04 00 00 jle 0x4e4
22: 8b 44 24 10 mov 0x10(%rsp),%eax
26: 31 d2 xor %edx,%edx
28: 31 ff xor %edi,%edi
* 2a: f7 b3 70 01 00 00 divl 0x170(%rbx) <-- trapping instruction
30: 89 d6 mov %edx,%esi
32: 89 54 24 20 mov %edx,0x20(%rsp)
36: e8 f2 e9 00 fe callq 0xfe00ea2d
3b: 8b 54 24 20 mov 0x20(%rsp),%edx
3f: 8b .byte 0x8b


---
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@googlegroups.com.

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

\
 
 \ /
  Last update: 2021-10-18 20:56    [W:1.173 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site