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

3 views
Skip to first unread message

syzbot

unread,
Dec 16, 2024, 6:50:26 AM12/16/24
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 963e654022cc Linux 5.15.174
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=14ca34f8580000
kernel config: https://syzkaller.appspot.com/x/.config?x=be5e2d52ec7084cf
dashboard link: https://syzkaller.appspot.com/bug?extid=6face46c1d2f28e76643
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/c39b959d0e47/disk-963e6540.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/1b11b7541d5f/vmlinux-963e6540.xz
kernel image: https://storage.googleapis.com/syzbot-assets/0969216fb32b/Image-963e6540.gz.xz

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

Unable to handle kernel paging request at virtual address dfff80000000000b
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
[dfff80000000000b] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 5385 Comm: syz.3.435 Not tainted 5.15.174-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/25/2024
pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : klist_put lib/klist.c:212 [inline]
pc : klist_del lib/klist.c:230 [inline]
pc : klist_remove+0x190/0x38c lib/klist.c:249
lr : spin_unlock include/linux/spinlock.h:403 [inline]
lr : klist_remove+0x16c/0x38c lib/klist.c:247
sp : ffff8000201b7400
x29: ffff8000201b74a0 x28: dfff800000000000 x27: 1fffe0001ba368c9
x26: ffff0000d160b680 x25: dfff800000000000 x24: ffff700004036e80
x23: ffff800015351628 x22: 1fffe0001ccf908c x21: 0000000000000000
x20: ffff8000201b7420 x19: ffff0000e67c8460 x18: ffff8000201b70e0
x17: 0000000000000000 x16: ffff80000824ec04 x15: 0000000000035b15
x14: 000000001be97231 x13: dfff800000000000 x12: 0000000000000001
x11: 0000000000000001 x10: 0000000000000000 x9 : 1fffe0001a2c16d1
x8 : 000000000000000b x7 : 0000000000000000 x6 : 0000000000000000
x5 : ffff800017a67370 x4 : 0000000000000008 x3 : ffff800008305a08
x2 : 0000000000000001 x1 : 0000000000000001 x0 : 0000000000000058
Call trace:
klist_put lib/klist.c:212 [inline]
klist_del lib/klist.c:230 [inline]
klist_remove+0x190/0x38c lib/klist.c:249
device_move+0x17c/0x5c8 drivers/base/core.c:4338
hci_conn_del_sysfs+0xa0/0x154 net/bluetooth/hci_sysfs.c:73
hci_conn_cleanup+0x424/0x5b8 net/bluetooth/hci_conn.c:140
hci_conn_del+0x238/0x378 net/bluetooth/hci_conn.c:678
hci_conn_hash_flush+0x188/0x220 net/bluetooth/hci_conn.c:1623
hci_dev_do_close+0x7e4/0x1060 net/bluetooth/hci_core.c:1795
hci_unregister_dev+0x248/0x4d4 net/bluetooth/hci_core.c:4040
vhci_release+0x74/0xc4 drivers/bluetooth/hci_vhci.c:345
__fput+0x1c4/0x800 fs/file_table.c:280
____fput+0x20/0x30 fs/file_table.c:308
task_work_run+0x130/0x1e4 kernel/task_work.c:188
exit_task_work include/linux/task_work.h:33 [inline]
do_exit+0x670/0x20bc kernel/exit.c:874
do_group_exit+0x110/0x268 kernel/exit.c:996
get_signal+0x634/0x1550 kernel/signal.c:2900
do_signal arch/arm64/kernel/signal.c:890 [inline]
do_notify_resume+0x3d0/0x32b8 arch/arm64/kernel/signal.c:943
prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:133 [inline]
exit_to_user_mode arch/arm64/kernel/entry-common.c:138 [inline]
el0_svc+0xfc/0x1f0 arch/arm64/kernel/entry-common.c:609
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: f9400268 927ff915 910162a0 d343fc08 (38796908)
---[ end trace 354f62933b96c1d1 ]---
----------------
Code disassembly (best guess):
0: f9400268 ldr x8, [x19]
4: 927ff915 and x21, x8, #0xfffffffffffffffe
8: 910162a0 add x0, x21, #0x58
c: d343fc08 lsr x8, x0, #3
* 10: 38796908 ldrb w8, [x8, x25] <-- 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,
Dec 1, 2025, 12:24:26 AM12/1/25
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: cc5ec8769306 Linux 5.15.196
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=157b98c2580000
kernel config: https://syzkaller.appspot.com/x/.config?x=e1bb6d24ef2164eb
dashboard link: https://syzkaller.appspot.com/bug?extid=6face46c1d2f28e76643
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12b1c512580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c71c660545b2/disk-cc5ec876.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/4f011826cca6/vmlinux-cc5ec876.xz
kernel image: https://storage.googleapis.com/syzbot-assets/8ccd1a2c3f8c/bzImage-cc5ec876.xz

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

general protection fault, probably for non-canonical address 0xdffffc000000000b: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000058-0x000000000000005f]
CPU: 0 PID: 10130 Comm: syz-executor Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/02/2025
RIP: 0010:klist_put lib/klist.c:212 [inline]
RIP: 0010:klist_del lib/klist.c:230 [inline]
RIP: 0010:klist_remove+0x144/0x2f0 lib/klist.c:249
Code: b6 05 4d 89 f4 49 c1 ec 03 43 80 3c 2c 00 74 08 4c 89 f7 e8 7e 46 c0 fd 4d 8b 3e 49 83 e7 fe 49 8d 7f 58 48 89 f8 48 c1 e8 03 <42> 80 3c 28 00 74 05 e8 60 46 c0 fd 49 8b 47 58 48 89 44 24 08 4c
RSP: 0018:ffffc9000ca0f660 EFLAGS: 00010202
RAX: 000000000000000b RBX: ffff888023a49dc0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000058
RBP: ffffc9000ca0f748 R08: dffffc0000000000 R09: fffffbfff18e70bd
R10: fffffbfff18e70bd R11: 1ffffffff18e70bc R12: 1ffff11003c1178c
R13: dffffc0000000000 R14: ffff88801e08bc60 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffda37ebb38 CR3: 000000005d5f1000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
device_move+0x18f/0x6f0 drivers/base/core.c:4338
hci_conn_del_sysfs+0xab/0x160 net/bluetooth/hci_sysfs.c:73
hci_conn_cleanup+0x4d1/0x680 net/bluetooth/hci_conn.c:140
hci_conn_del+0x2ab/0x3e0 net/bluetooth/hci_conn.c:678
hci_conn_hash_flush+0x185/0x220 net/bluetooth/hci_conn.c:1623
hci_dev_do_close+0x991/0x1030 net/bluetooth/hci_core.c:1795
hci_unregister_dev+0x2d7/0x580 net/bluetooth/hci_core.c:4040
vhci_release+0x73/0xc0 drivers/bluetooth/hci_vhci.c:345
__fput+0x234/0x930 fs/file_table.c:311
task_work_run+0x125/0x1a0 kernel/task_work.c:188
exit_task_work include/linux/task_work.h:33 [inline]
do_exit+0x61e/0x20a0 kernel/exit.c:883
do_group_exit+0x12e/0x300 kernel/exit.c:997
get_signal+0x6ca/0x12c0 kernel/signal.c:2900
arch_do_signal_or_restart+0xc1/0x1300 arch/x86/kernel/signal.c:867
handle_signal_work kernel/entry/common.c:154 [inline]
exit_to_user_mode_loop+0x9e/0x130 kernel/entry/common.c:178
exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:214
__syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
syscall_exit_to_user_mode+0x16/0x40 kernel/entry/common.c:307
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f6c21dbf48a
Code: Unable to access opcode bytes at RIP 0x7f6c21dbf460.
RSP: 002b:00007ffe7faba928 EFLAGS: 00000212 ORIG_RAX: 0000000000000037
RAX: 0000000000000000 RBX: 0000000000000003 RCX: 00007f6c21dbf48a
RDX: 0000000000000061 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 00007ffe7faba990 R08: 00007ffe7faba93c R09: 00007ffe7fabad27
R10: 00007ffe7faba990 R11: 0000000000000212 R12: 00007ffe7faba93c
R13: 00000000000927c0 R14: 000000000005e1b1 R15: 00007ffe7fabb070
</TASK>
Modules linked in:
---[ end trace 07b12697f4f5c7e4 ]---
RIP: 0010:klist_put lib/klist.c:212 [inline]
RIP: 0010:klist_del lib/klist.c:230 [inline]
RIP: 0010:klist_remove+0x144/0x2f0 lib/klist.c:249
Code: b6 05 4d 89 f4 49 c1 ec 03 43 80 3c 2c 00 74 08 4c 89 f7 e8 7e 46 c0 fd 4d 8b 3e 49 83 e7 fe 49 8d 7f 58 48 89 f8 48 c1 e8 03 <42> 80 3c 28 00 74 05 e8 60 46 c0 fd 49 8b 47 58 48 89 44 24 08 4c
RSP: 0018:ffffc9000ca0f660 EFLAGS: 00010202
RAX: 000000000000000b RBX: ffff888023a49dc0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000004 RDI: 0000000000000058
RBP: ffffc9000ca0f748 R08: dffffc0000000000 R09: fffffbfff18e70bd
R10: fffffbfff18e70bd R11: 1ffffffff18e70bc R12: 1ffff11003c1178c
R13: dffffc0000000000 R14: ffff88801e08bc60 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8880b9100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005603ebe5c010 CR3: 000000005c11c000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: b6 05 mov $0x5,%dh
2: 4d 89 f4 mov %r14,%r12
5: 49 c1 ec 03 shr $0x3,%r12
9: 43 80 3c 2c 00 cmpb $0x0,(%r12,%r13,1)
e: 74 08 je 0x18
10: 4c 89 f7 mov %r14,%rdi
13: e8 7e 46 c0 fd call 0xfdc04696
18: 4d 8b 3e mov (%r14),%r15
1b: 49 83 e7 fe and $0xfffffffffffffffe,%r15
1f: 49 8d 7f 58 lea 0x58(%r15),%rdi
23: 48 89 f8 mov %rdi,%rax
26: 48 c1 e8 03 shr $0x3,%rax
* 2a: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) <-- trapping instruction
2f: 74 05 je 0x36
31: e8 60 46 c0 fd call 0xfdc04696
36: 49 8b 47 58 mov 0x58(%r15),%rax
3a: 48 89 44 24 08 mov %rax,0x8(%rsp)
3f: 4c rex.WR


---
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