[v5.15] BUG: unable to handle kernel paging request in ax88179_disconnect

0 views
Skip to first unread message

syzbot

unread,
Jan 9, 2024, 1:25:26 PMJan 9
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 26c690eff0a5 Linux 5.15.146
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1714038de80000
kernel config: https://syzkaller.appspot.com/x/.config?x=ab948f7b303e76f8
dashboard link: https://syzkaller.appspot.com/bug?extid=b6e4a8d5588796d106ff
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/33e6f3a42ce6/disk-26c690ef.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/0224f0ff4ede/vmlinux-26c690ef.xz
kernel image: https://storage.googleapis.com/syzbot-assets/822737ca97e0/Image-26c690ef.gz.xz

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

ax88179_178a 1-1:6.5 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71
ax88179_178a 1-1:6.5 eth1: register 'ax88179_178a' at usb-dummy_hcd.0-1, Belkin USB Ethernet Adapter, 8e:64:75:16:c6:46
usb 1-1: USB disconnect, device number 47
Unable to handle kernel paging request at virtual address dfff800000000002
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff800000000002] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4084 Comm: kworker/0:8 Not tainted 5.15.146-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
Workqueue: usb_hub_wq hub_event
pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : ax88179_disconnect+0x70/0xb8 drivers/net/usb/ax88179_178a.c:531
lr : ax88179_disconnect+0x48/0xb8 drivers/net/usb/ax88179_178a.c:530
sp : ffff80001cc073b0
x29: ffff80001cc073b0 x28: ffff800015ff12e0 x27: ffff0000ebb52000
x26: 0000000000000001 x25: ffff0000ebb520a8 x24: ffff0000ebc5c030
x23: ffff800015ff1248 x22: ffff800015ff11b0 x21: dfff800000000000
x20: 0000000000000010 x19: ffff0000ebc5c000 x18: ffff80001cc06fc0
x17: 0000000000000002 x16: ffff80000824c4dc x15: 000000000001f276
x14: ffff800016f51500 x13: dfff800000000000 x12: 0000000000040000
x11: 0000000000011f5a x10: ffff800026769000 x9 : 0000000000000000
x8 : 0000000000000002 x7 : 0000000000000000 x6 : 0000000000000000
x5 : 0000000000000020 x4 : 0000000000000000 x3 : ffff800008045860
x2 : 0000000000000006 x1 : ffff800011adab60 x0 : ffff0000ebc5c000
Call trace:
ax88179_disconnect+0x70/0xb8 drivers/net/usb/ax88179_178a.c:531
usb_unbind_interface+0x1a4/0x758 drivers/usb/core/driver.c:458
__device_release_driver drivers/base/dd.c:1229 [inline]
device_release_driver_internal+0x464/0x6ac drivers/base/dd.c:1262
device_release_driver+0x28/0x38 drivers/base/dd.c:1285
bus_remove_device+0x298/0x38c drivers/base/bus.c:529
device_del+0x57c/0x9b4 drivers/base/core.c:3582
usb_disable_device+0x354/0x760 drivers/usb/core/message.c:1414
usb_disconnect+0x290/0x7e8 drivers/usb/core/hub.c:2239
hub_port_connect drivers/usb/core/hub.c:5281 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5577 [inline]
port_event drivers/usb/core/hub.c:5723 [inline]
hub_event+0x1718/0x47d4 drivers/usb/core/hub.c:5805
process_one_work+0x790/0x11b8 kernel/workqueue.c:2310
process_scheduled_works kernel/workqueue.c:2373 [inline]
worker_thread+0xb88/0x1034 kernel/workqueue.c:2459
kthread+0x37c/0x45c kernel/kthread.c:319
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870
Code: f9400288 91004114 d343fe88 12000a89 (38f56908)
---[ end trace 481da3bd26615232 ]---
----------------
Code disassembly (best guess):
0: f9400288 ldr x8, [x20]
4: 91004114 add x20, x8, #0x10
8: d343fe88 lsr x8, x20, #3
c: 12000a89 and w9, w20, #0x7
* 10: 38f56908 ldrsb w8, [x8, x21] <-- trapping instruction


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

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Jan 13, 2024, 2:36:20 PMJan 13
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 26c690eff0a5 Linux 5.15.146
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12439935e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=dc70d39e176dd118
dashboard link: https://syzkaller.appspot.com/bug?extid=b6e4a8d5588796d106ff
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=150aa00be80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16f0d6b9e80000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/40141853e0d3/disk-26c690ef.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/87e1356f3f98/vmlinux-26c690ef.xz
kernel image: https://storage.googleapis.com/syzbot-assets/77c63c93083b/bzImage-26c690ef.xz

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

ax88179_178a 1-1:0.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71
ax88179_178a 1-1:0.0 eth1: register 'ax88179_178a' at usb-dummy_hcd.0-1, MCT USB 3.0 Gigabit Ethernet Adapter, ee:f9:1c:f0:88:17
usb 1-1: USB disconnect, device number 2
general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
CPU: 1 PID: 3507 Comm: kworker/1:3 Not tainted 5.15.146-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
Workqueue: usb_hub_wq hub_event
RIP: 0010:ax88179_disconnect+0x69/0xa0 drivers/net/usb/ax88179_178a.c:531
Code: 83 fb 48 83 c3 20 48 89 d8 48 c1 e8 03 42 80 3c 38 00 74 08 48 89 df e8 b5 fd cc fb 48 8b 1b 48 83 c3 10 48 89 d8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 75 1b c6 03 01 4c 89 f7 5b 41 5e 41 5f e9 4e
RSP: 0018:ffffc90002cf7590 EFLAGS: 00010202
RAX: 0000000000000002 RBX: 0000000000000010 RCX: ffff88807e488000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888018e02000
RBP: ffff8880157c20a8 R08: ffffffff861aaa1e R09: fffff5200059eea1
R10: 0000000000000000 R11: dffffc0000000001 R12: ffffffff8d33d150
R13: 0000000000000000 R14: ffff888018e02000 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055b0f5fc9f78 CR3: 000000001d50b000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
usb_unbind_interface+0x1cd/0x840 drivers/usb/core/driver.c:458
__device_release_driver drivers/base/dd.c:1229 [inline]
device_release_driver_internal+0x50e/0x7f0 drivers/base/dd.c:1262
bus_remove_device+0x2e5/0x400 drivers/base/bus.c:529
device_del+0x6e2/0xbd0 drivers/base/core.c:3582
usb_disable_device+0x3b8/0x840 drivers/usb/core/message.c:1414
usb_disconnect+0x33c/0x8c0 drivers/usb/core/hub.c:2239
hub_port_connect drivers/usb/core/hub.c:5281 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5577 [inline]
port_event drivers/usb/core/hub.c:5723 [inline]
hub_event+0x1d58/0x54c0 drivers/usb/core/hub.c:5805
process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
process_scheduled_works kernel/workqueue.c:2373 [inline]
worker_thread+0xdcf/0x1280 kernel/workqueue.c:2459
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
Modules linked in:
---[ end trace 804e372a6d96a293 ]---
RIP: 0010:ax88179_disconnect+0x69/0xa0 drivers/net/usb/ax88179_178a.c:531
Code: 83 fb 48 83 c3 20 48 89 d8 48 c1 e8 03 42 80 3c 38 00 74 08 48 89 df e8 b5 fd cc fb 48 8b 1b 48 83 c3 10 48 89 d8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 75 1b c6 03 01 4c 89 f7 5b 41 5e 41 5f e9 4e
RSP: 0018:ffffc90002cf7590 EFLAGS: 00010202

RAX: 0000000000000002 RBX: 0000000000000010 RCX: ffff88807e488000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888018e02000
RBP: ffff8880157c20a8 R08: ffffffff861aaa1e R09: fffff5200059eea1
R10: 0000000000000000 R11: dffffc0000000001 R12: ffffffff8d33d150
R13: 0000000000000000 R14: ffff888018e02000 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffc550cfff8 CR3: 000000002364d000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 83 fb 48 cmp $0x48,%ebx
3: 83 c3 20 add $0x20,%ebx
6: 48 89 d8 mov %rbx,%rax
9: 48 c1 e8 03 shr $0x3,%rax
d: 42 80 3c 38 00 cmpb $0x0,(%rax,%r15,1)
12: 74 08 je 0x1c
14: 48 89 df mov %rbx,%rdi
17: e8 b5 fd cc fb call 0xfbccfdd1
1c: 48 8b 1b mov (%rbx),%rbx
1f: 48 83 c3 10 add $0x10,%rbx
23: 48 89 d8 mov %rbx,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 42 0f b6 04 38 movzbl (%rax,%r15,1),%eax <-- trapping instruction
2f: 84 c0 test %al,%al
31: 75 1b jne 0x4e
33: c6 03 01 movb $0x1,(%rbx)
36: 4c 89 f7 mov %r14,%rdi
39: 5b pop %rbx
3a: 41 5e pop %r14
3c: 41 5f pop %r15
3e: e9 .byte 0xe9
3f: 4e rex.WRX


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages