syzbot


general protection fault in __kernfs_remove

Status: auto-closed as invalid on 2022/04/02 06:14
Subsystems: kernfs
[Documentation on labels]
Reported-by: syzbot+c2626481ddf079d354c8@syzkaller.appspotmail.com
First crash: 991d, last: 887d
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] general protection fault in __kernfs_remove 0 (1) 2021/08/25 17:19
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: use-after-free Read in __kernfs_remove C done 3985 578d 621d 22/26 fixed on 2023/02/24 13:50

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc000002447c: 0000 [#1] PREEMPT SMP KASAN
KASAN: probably user-memory-access in range [0x00000000001223e0-0x00000000001223e7]
CPU: 1 PID: 15312 Comm: syz-executor.5 Not tainted 5.14.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:rb_set_parent_color include/linux/rbtree_augmented.h:165 [inline]
RIP: 0010:__rb_erase_augmented include/linux/rbtree_augmented.h:286 [inline]
RIP: 0010:rb_erase+0x21a/0x1210 lib/rbtree.c:443
Code: ea 03 80 3c 02 00 0f 85 b8 0f 00 00 49 89 5e 08 48 85 c9 74 4f 48 89 ca 48 83 cd 01 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 a2 0f 00 00 48 b8 00 00 00 00 00 fc ff df 48 89
RSP: 0018:ffffc90001d87968 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff8880001224c8 RCX: 00000000001223e0
RDX: 000000000002447c RSI: ffff8880001224c8 RDI: 1ffff110000244b6
RBP: ffff8880001224c9 R08: 0000000000000001 R09: 0000000000000002
R10: ffffffff81f18b5a R11: 0000000000000001 R12: 0000000000000001
R13: ffff888000122780 R14: 0000000000000000 R15: ffff888000122898
FS:  0000000002138400(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa88952b000 CR3: 000000008e5ee000 CR4: 00000000001506e0
Call Trace:
 kernfs_unlink_sibling fs/kernfs/dir.c:398 [inline]
 __kernfs_remove+0x637/0xa90 fs/kernfs/dir.c:1332
 kernfs_remove_by_name_ns+0x51/0xb0 fs/kernfs/dir.c:1517
 kernfs_remove_by_name include/linux/kernfs.h:593 [inline]
 remove_files+0x96/0x1c0 fs/sysfs/group.c:28
 sysfs_remove_group+0x87/0x170 fs/sysfs/group.c:289
 netdev_queue_update_kobjects+0x302/0x450 net/core/net-sysfs.c:1668
 remove_queue_kobjects net/core/net-sysfs.c:1767 [inline]
 netdev_unregister_kobject+0x15b/0x1f0 net/core/net-sysfs.c:1917
 unregister_netdevice_many+0xd21/0x1790 net/core/dev.c:11120
 unregister_netdevice_queue+0x2dd/0x3c0 net/core/dev.c:11027
 unregister_netdevice include/linux/netdevice.h:2969 [inline]
 __tun_detach+0x10ad/0x13d0 drivers/net/tun.c:670
 tun_detach drivers/net/tun.c:687 [inline]
 tun_chr_close+0xc4/0x180 drivers/net/tun.c:3397
 __fput+0x288/0x920 fs/file_table.c:280
 task_work_run+0xdd/0x1a0 kernel/task_work.c:164
 tracehook_notify_resume include/linux/tracehook.h:189 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:175 [inline]
 exit_to_user_mode_prepare+0x27e/0x290 kernel/entry/common.c:209
 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
 syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302
 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4193fb
Code: 0f 05 48 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 63 fc ff ff 8b 7c 24 0c 41 89 c0 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 a1 fc ff ff 8b 44
RSP: 002b:00007ffe5a6c3d80 EFLAGS: 00000293 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000004 RCX: 00000000004193fb
RDX: 0000000000570c90 RSI: ffffffff892ab478 RDI: 0000000000000003
RBP: 0000000000000001 R08: 0000000000000000 R09: 0000001b2f527494
R10: 00000000000017a2 R11: 0000000000000293 R12: 00000000002bfecd
R13: 00000000000003e8 R14: 000000000056bf80 R15: 00000000002bfe8e
Modules linked in:
---[ end trace b5f9ab27060c4917 ]---
RIP: 0010:rb_set_parent_color include/linux/rbtree_augmented.h:165 [inline]
RIP: 0010:__rb_erase_augmented include/linux/rbtree_augmented.h:286 [inline]
RIP: 0010:rb_erase+0x21a/0x1210 lib/rbtree.c:443
Code: ea 03 80 3c 02 00 0f 85 b8 0f 00 00 49 89 5e 08 48 85 c9 74 4f 48 89 ca 48 83 cd 01 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 a2 0f 00 00 48 b8 00 00 00 00 00 fc ff df 48 89
RSP: 0018:ffffc90001d87968 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff8880001224c8 RCX: 00000000001223e0
RDX: 000000000002447c RSI: ffff8880001224c8 RDI: 1ffff110000244b6
RBP: ffff8880001224c9 R08: 0000000000000001 R09: 0000000000000002
R10: ffffffff81f18b5a R11: 0000000000000001 R12: 0000000000000001
R13: ffff888000122780 R14: 0000000000000000 R15: ffff888000122898
FS:  0000000002138400(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fda00030410 CR3: 000000008e5ee000 CR4: 00000000001506f0
----------------
Code disassembly (best guess), 1 bytes skipped:
   0:	03 80 3c 02 00 0f    	add    0xf00023c(%rax),%eax
   6:	85 b8 0f 00 00 49    	test   %edi,0x4900000f(%rax)
   c:	89 5e 08             	mov    %ebx,0x8(%rsi)
   f:	48 85 c9             	test   %rcx,%rcx
  12:	74 4f                	je     0x63
  14:	48 89 ca             	mov    %rcx,%rdx
  17:	48 83 cd 01          	or     $0x1,%rbp
  1b:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  22:	fc ff df
  25:	48 c1 ea 03          	shr    $0x3,%rdx
* 29:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1) <-- trapping instruction
  2d:	0f 85 a2 0f 00 00    	jne    0xfd5
  33:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  3a:	fc ff df
  3d:	48                   	rex.W
  3e:	89                   	.byte 0x89

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/08/21 08:20 upstream fa54d366a6e4 b599f2fc .config console log report info ci-upstream-kasan-gce-selinux-root general protection fault in __kernfs_remove
2021/11/03 15:00 linux-next 8ccbda2840b7 4c1be0be .config console log report info ci-upstream-linux-next-kasan-gce-root general protection fault in __kernfs_remove
2021/11/19 16:48 upstream 4c388a8e740d 3a9d0024 .config console log report info ci-upstream-kasan-gce-selinux-root BUG: unable to handle kernel paging request in __kernfs_remove
2021/12/03 06:13 linux-next f81e94e91878 61f86278 .config console log report info ci-upstream-linux-next-kasan-gce-root KASAN: slab-out-of-bounds Read in __kernfs_remove
* Struck through repros no longer work on HEAD.