syzbot


general protection fault in set_task_ioprio

Status: fixed on 2022/03/08 16:11
Reported-by: syzbot+8836466a79f4175961b0@syzkaller.appspotmail.com
Fix commit: a957b61254a7 block: fix error in handling dead task for ioprio setting
First crash: 230d, last: 228d

Cause bisection: introduced by (bisect log) :
commit e4b8954074f6d0db01c8c97d338a67f9389c042f
Author: Eric Dumazet <edumazet@google.com>
Date: Tue Dec 7 01:30:37 2021 +0000

  netlink: add net device refcount tracker to struct ethnl_req_info

Crash: WARNING in ref_tracker_dir_exit (log)
Repro: C syz .config
Patch testing requests:
Created Duration User Patch Repo Result
2021/12/21 03:34 12m axboe@kernel.dk git://git.kernel.dk/linux-block for-next OK

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 1 PID: 3602 Comm: syz-executor484 Not tainted 5.16.0-rc5-next-20211220-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:set_task_ioprio+0x2de/0x620 block/blk-ioc.c:289 block/blk-ioc.c:289
Code: 4c 8b ab 18 12 00 00 4d 85 ed 0f 84 9b 01 00 00 e8 d7 1e a4 fd 49 8d 7d 0c 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85 ef
RSP: 0018:ffffc90001b1fe90 EFLAGS: 00010203
RAX: dffffc0000000000 RBX: ffff88801f888000 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffff83d3f779 RDI: 000000000000000c
RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8ffaf957
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: ffff88801f888948 R15: ffff88801f889218
FS:  0000555556a34300(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f2155cab01d CR3: 00000000149ed000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __do_sys_ioprio_set+0x586/0xae0 block/ioprio.c:124 block/ioprio.c:124
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_x64 arch/x86/entry/common.c:50 [inline] arch/x86/entry/common.c:80
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f2155c67cf9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 b1 14 00 00 90 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 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffc6f0f50c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000fb
RAX: ffffffffffffffda RBX: 000000000000cbcf RCX: 00007f2155c67cf9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 0000000000000000 R08: 00007ffc6f0f5268 R09: 00007ffc6f0f5268
R10: ffffffffffffffff R11: 0000000000000246 R12: 00007ffc6f0f50dc
R13: 431bde82d7b634db R14: 0000000000000000 R15: 0000000000000000
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:set_task_ioprio+0x2de/0x620 block/blk-ioc.c:289 block/blk-ioc.c:289
Code: 4c 8b ab 18 12 00 00 4d 85 ed 0f 84 9b 01 00 00 e8 d7 1e a4 fd 49 8d 7d 0c 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 01 38 d0 7c 08 84 d2 0f 85 ef
RSP: 0018:ffffc90001b1fe90 EFLAGS: 00010203
RAX: dffffc0000000000 RBX: ffff88801f888000 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffff83d3f779 RDI: 000000000000000c
RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8ffaf957
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: ffff88801f888948 R15: ffff88801f889218
FS:  0000555556a34300(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f2155cab01d CR3: 00000000149ed000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	4c 8b ab 18 12 00 00 	mov    0x1218(%rbx),%r13
   7:	4d 85 ed             	test   %r13,%r13
   a:	0f 84 9b 01 00 00    	je     0x1ab
  10:	e8 d7 1e a4 fd       	callq  0xfda41eec
  15:	49 8d 7d 0c          	lea    0xc(%r13),%rdi
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df
  23:	48 89 fa             	mov    %rdi,%rdx
  26:	48 c1 ea 03          	shr    $0x3,%rdx
* 2a:	0f b6 14 02          	movzbl (%rdx,%rax,1),%edx <-- trapping instruction
  2e:	48 89 f8             	mov    %rdi,%rax
  31:	83 e0 07             	and    $0x7,%eax
  34:	83 c0 01             	add    $0x1,%eax
  37:	38 d0                	cmp    %dl,%al
  39:	7c 08                	jl     0x43
  3b:	84 d2                	test   %dl,%dl
  3d:	0f                   	.byte 0xf
  3e:	85 ef                	test   %ebp,%edi
----------------
Code disassembly (best guess):
   0:	4c 8b ab 18 12 00 00 	mov    0x1218(%rbx),%r13
   7:	4d 85 ed             	test   %r13,%r13
   a:	0f 84 9b 01 00 00    	je     0x1ab
  10:	e8 d7 1e a4 fd       	callq  0xfda41eec
  15:	49 8d 7d 0c          	lea    0xc(%r13),%rdi
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df
  23:	48 89 fa             	mov    %rdi,%rdx
  26:	48 c1 ea 03          	shr    $0x3,%rdx
* 2a:	0f b6 14 02          	movzbl (%rdx,%rax,1),%edx <-- trapping instruction
  2e:	48 89 f8             	mov    %rdi,%rax
  31:	83 e0 07             	and    $0x7,%eax
  34:	83 c0 01             	add    $0x1,%eax
  37:	38 d0                	cmp    %dl,%al
  39:	7c 08                	jl     0x43
  3b:	84 d2                	test   %dl,%dl
  3d:	0f                   	.byte 0xf
  3e:	85 ef                	test   %ebp,%edi

Crashes (19):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-linux-next-kasan-gce-root 2021/12/21 01:44 linux-next 07f8c60fe60f 62bd192b .config log report syz C general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/22 05:49 linux-next 07f8c60fe60f 6caa12e4 .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/22 05:06 linux-next 07f8c60fe60f 6caa12e4 .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/22 03:00 linux-next 07f8c60fe60f 6caa12e4 .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/21 22:56 linux-next 07f8c60fe60f a938f0b8 .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/21 19:25 linux-next 07f8c60fe60f a938f0b8 .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/21 15:12 linux-next 07f8c60fe60f a938f0b8 .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/21 03:02 linux-next 07f8c60fe60f 62bd192b .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 23:12 linux-next 07f8c60fe60f 62bd192b .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 23:00 linux-next 07f8c60fe60f 62bd192b .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 22:48 linux-next 07f8c60fe60f 62bd192b .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 19:54 linux-next 07f8c60fe60f 62bd192b .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 19:39 linux-next 07f8c60fe60f 62bd192b .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 17:05 linux-next 07f8c60fe60f 021b36cb .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 16:50 linux-next 07f8c60fe60f 021b36cb .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 16:42 linux-next 07f8c60fe60f 021b36cb .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 15:11 linux-next 07f8c60fe60f 021b36cb .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 14:36 linux-next 07f8c60fe60f 021b36cb .config log report info general protection fault in set_task_ioprio
ci-upstream-linux-next-kasan-gce-root 2021/12/20 12:49 linux-next 07f8c60fe60f 021b36cb .config log report info general protection fault in set_task_ioprio