syzbot


general protection fault in io_uring_show_fdinfo (2)

Status: upstream: reported C repro on 2024/11/01 18:28
Subsystems: io-uring
[Documentation on labels]
Reported-by: syzbot+6cb1e1ecb22a749ef8e8@syzkaller.appspotmail.com
First crash: 20d, last: 20d
Cause bisection: introduced by (bisect log) :
commit 661768085e99aad356ebc77d78ac41fd02eccbe3
Author: Jens Axboe <axboe@kernel.dk>
Date: Wed Oct 30 15:51:58 2024 +0000

  io_uring/rsrc: get rid of the empty node and dummy_ubuf

Crash: BUG: unable to handle kernel NULL pointer dereference in io_uring_show_fdinfo (log)
Repro: C syz .config
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [io-uring?] general protection fault in io_uring_show_fdinfo (2) 1 (4) 2024/11/01 22:13
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in io_uring_show_fdinfo io-uring C done 17 437d 446d 23/28 fixed on 2023/10/12 12:48
upstream KASAN: slab-out-of-bounds Read in io_uring_show_fdinfo io-uring C done 5 767d 772d 22/28 fixed on 2023/02/24 13:50
Last patch testing requests (2)
Created Duration User Patch Repo Result
2024/11/15 04:56 8m retest repro linux-next error
2024/11/01 18:39 21m axboe@kernel.dk git://git.kernel.dk/linux for-6.13/io_uring OK log

Sample crash report:
Oops: general protection fault, probably for non-canonical address 0xdffffc0000000003: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
CPU: 1 UID: 0 PID: 5845 Comm: syz-executor422 Not tainted 6.12.0-rc5-next-20241031-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:io_uring_show_fdinfo+0xeed/0x1810 io_uring/fdinfo.c:181
Code: 00 fc ff df 80 3c 08 00 74 08 48 89 df e8 cb 68 3c f6 48 8b 1b 48 83 c3 18 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 48 89 df e8 a5 68 3c f6 4d 89 fe 48 8b 1b 48 89
RSP: 0018:ffffc9000352f700 EFLAGS: 00010206
RAX: 0000000000000003 RBX: 0000000000000018 RCX: dffffc0000000000
RDX: ffff888030040000 RSI: 0000000000000003 RDI: 0000000000000000
RBP: ffffc9000352f940 R08: ffffffff8bc2f00d R09: 1ffff1100690201f
R10: dffffc0000000000 R11: ffffed1006902020 R12: 0000000000000000
R13: dffffc0000000000 R14: ffff888034e26128 R15: ffff888034e26120
FS:  00005555693ab380(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000564acb56e0d8 CR3: 000000007f2d0000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 seq_show+0x608/0x770 fs/proc/fd.c:68
 seq_read_iter+0x43f/0xd70 fs/seq_file.c:230
 seq_read+0x3a9/0x4f0 fs/seq_file.c:162
 do_loop_readv_writev fs/read_write.c:854 [inline]
 vfs_readv+0x6bc/0xa80 fs/read_write.c:1027
 do_preadv fs/read_write.c:1142 [inline]
 __do_sys_preadv fs/read_write.c:1192 [inline]
 __se_sys_preadv fs/read_write.c:1187 [inline]
 __x64_sys_preadv+0x1c7/0x2d0 fs/read_write.c:1187
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f7f677d1669
Code: 48 83 c4 28 c3 e8 37 17 00 00 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffecebd7a78 EFLAGS: 00000246 ORIG_RAX: 0000000000000127
RAX: ffffffffffffffda RBX: 00007ffecebd7a80 RCX: 00007f7f677d1669
RDX: 0000000000000001 RSI: 0000000020000640 RDI: 0000000000000004
RBP: 00007f7f67844610 R08: 0000000000000000 R09: 68742f636f72702f
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
R13: 00007ffecebd7cb8 R14: 0000000000000001 R15: 0000000000000001
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:io_uring_show_fdinfo+0xeed/0x1810 io_uring/fdinfo.c:181
Code: 00 fc ff df 80 3c 08 00 74 08 48 89 df e8 cb 68 3c f6 48 8b 1b 48 83 c3 18 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 48 89 df e8 a5 68 3c f6 4d 89 fe 48 8b 1b 48 89
RSP: 0018:ffffc9000352f700 EFLAGS: 00010206
RAX: 0000000000000003 RBX: 0000000000000018 RCX: dffffc0000000000
RDX: ffff888030040000 RSI: 0000000000000003 RDI: 0000000000000000
RBP: ffffc9000352f940 R08: ffffffff8bc2f00d R09: 1ffff1100690201f
R10: dffffc0000000000 R11: ffffed1006902020 R12: 0000000000000000
R13: dffffc0000000000 R14: ffff888034e26128 R15: ffff888034e26120
FS:  00005555693ab380(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000008 CR3: 000000007f2d0000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 4 bytes skipped:
   0:	80 3c 08 00          	cmpb   $0x0,(%rax,%rcx,1)
   4:	74 08                	je     0xe
   6:	48 89 df             	mov    %rbx,%rdi
   9:	e8 cb 68 3c f6       	call   0xf63c68d9
   e:	48 8b 1b             	mov    (%rbx),%rbx
  11:	48 83 c3 18          	add    $0x18,%rbx
  15:	48 89 d8             	mov    %rbx,%rax
  18:	48 c1 e8 03          	shr    $0x3,%rax
  1c:	48 b9 00 00 00 00 00 	movabs $0xdffffc0000000000,%rcx
  23:	fc ff df
* 26:	80 3c 08 00          	cmpb   $0x0,(%rax,%rcx,1) <-- trapping instruction
  2a:	74 08                	je     0x34
  2c:	48 89 df             	mov    %rbx,%rdi
  2f:	e8 a5 68 3c f6       	call   0xf63c68d9
  34:	4d 89 fe             	mov    %r15,%r14
  37:	48 8b 1b             	mov    (%rbx),%rbx
  3a:	48                   	rex.W
  3b:	89                   	.byte 0x89

Crashes (19):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/31 12:46 linux-next f9f24ca362a4 fb888278 .config strace log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 20:37 linux-next f9f24ca362a4 96eb609f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 20:37 linux-next f9f24ca362a4 96eb609f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 11:27 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 11:22 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 11:22 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 11:22 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 11:02 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 10:58 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 10:58 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 10:57 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 09:07 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 09:07 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 08:41 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 08:41 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 08:40 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 08:40 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 08:38 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
2024/10/31 08:38 linux-next f9f24ca362a4 fb888278 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in io_uring_show_fdinfo
* Struck through repros no longer work on HEAD.