syzbot


general protection fault in hook_inode_free_security

Status: moderation: reported on 2024/04/26 07:49
Subsystems: lsm
[Documentation on labels]
Reported-by: syzbot+479a5bebf0cc9c9c7b19@syzkaller.appspotmail.com
First crash: 14d, last: 13d

Sample crash report:
ERROR: (device loop3): jfs_readdir: JFS:Dtree error: ino = 2, bn=0, index = 6
ERROR: (device loop3): jfs_readdir: JFS:Dtree error: ino = 2, bn=0, index = 7
general protection fault, probably for non-canonical address 0xdffffc018458987b: 0000 [#1] PREEMPT SMP KASAN NOPTI
KASAN: probably user-memory-access in range [0x0000000c22c4c3d8-0x0000000c22c4c3df]
CPU: 0 PID: 5807 Comm: syz-executor.3 Not tainted 6.9.0-rc5-syzkaller-00007-g4d2008430ce8 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:hook_inode_free_security+0x5b/0xb0 security/landlock/fs.c:1047
Code: 8b fd 48 8b 1b 48 c7 c0 c4 4e d5 8d 48 c1 e8 03 42 0f b6 04 30 84 c0 75 3e 48 63 05 63 ff 65 09 48 01 c3 48 89 d8 48 c1 e8 03 <42> 80 3c 30 00 74 08 48 89 df e8 36 14 8b fd 48 83 3b 00 75 0d e8
RSP: 0018:ffffc90002d279a8 EFLAGS: 00010216
RAX: 000000018458987b RBX: 0000000c22c4c3d8 RCX: ffff88807d6fda00
RDX: 0000000000000000 RSI: 0000000000000040 RDI: ffff888059803270
RBP: ffffffff8c01ffc0 R08: ffffffff8212b575 R09: 1ffff1100b30065f
R10: dffffc0000000000 R11: ffffffff846f4f10 R12: dffffc0000000000
R13: 1ffff1100b300683 R14: dffffc0000000000 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fcb7af7b978 CR3: 000000000e134000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 security_inode_free+0x4a/0xd0 security/security.c:1613
 __destroy_inode+0x2d9/0x650 fs/inode.c:286
 destroy_inode fs/inode.c:309 [inline]
 evict+0x521/0x630 fs/inode.c:682
 dispose_list fs/inode.c:700 [inline]
 evict_inodes+0x5f9/0x690 fs/inode.c:750
 generic_shutdown_super+0x9d/0x2d0 fs/super.c:626
 kill_block_super+0x44/0x90 fs/super.c:1675
 deactivate_locked_super+0xc6/0x130 fs/super.c:472
 cleanup_mnt+0x426/0x4c0 fs/namespace.c:1267
 task_work_run+0x251/0x310 kernel/task_work.c:180
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0xa1b/0x27e0 kernel/exit.c:878
 do_group_exit+0x207/0x2c0 kernel/exit.c:1027
 __do_sys_exit_group kernel/exit.c:1038 [inline]
 __se_sys_exit_group kernel/exit.c:1036 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1036
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf5/0x240 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fe13047dea9
Code: Unable to access opcode bytes at 0x7fe13047de7f.
RSP: 002b:00007fff959633f8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 00007fe1304c93de RCX: 00007fe13047dea9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000002 R08: 00007fff95961197 R09: 00007fff959646b0
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fff959646b0
R13: 00007fe1304c93b9 R14: 0000000000027954 R15: 000000000000001e
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:hook_inode_free_security+0x5b/0xb0 security/landlock/fs.c:1047
Code: 8b fd 48 8b 1b 48 c7 c0 c4 4e d5 8d 48 c1 e8 03 42 0f b6 04 30 84 c0 75 3e 48 63 05 63 ff 65 09 48 01 c3 48 89 d8 48 c1 e8 03 <42> 80 3c 30 00 74 08 48 89 df e8 36 14 8b fd 48 83 3b 00 75 0d e8
RSP: 0018:ffffc90002d279a8 EFLAGS: 00010216
RAX: 000000018458987b RBX: 0000000c22c4c3d8 RCX: ffff88807d6fda00
RDX: 0000000000000000 RSI: 0000000000000040 RDI: ffff888059803270
RBP: ffffffff8c01ffc0 R08: ffffffff8212b575 R09: 1ffff1100b30065f
R10: dffffc0000000000 R11: ffffffff846f4f10 R12: dffffc0000000000
R13: 1ffff1100b300683 R14: dffffc0000000000 R15: dffffc0000000000
FS:  0000000000000000(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fe13057efe0 CR3: 000000000e134000 CR4: 0000000000350ef0
----------------
Code disassembly (best guess):
   0:	8b fd                	mov    %ebp,%edi
   2:	48 8b 1b             	mov    (%rbx),%rbx
   5:	48 c7 c0 c4 4e d5 8d 	mov    $0xffffffff8dd54ec4,%rax
   c:	48 c1 e8 03          	shr    $0x3,%rax
  10:	42 0f b6 04 30       	movzbl (%rax,%r14,1),%eax
  15:	84 c0                	test   %al,%al
  17:	75 3e                	jne    0x57
  19:	48 63 05 63 ff 65 09 	movslq 0x965ff63(%rip),%rax        # 0x965ff83
  20:	48 01 c3             	add    %rax,%rbx
  23:	48 89 d8             	mov    %rbx,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 80 3c 30 00       	cmpb   $0x0,(%rax,%r14,1) <-- trapping instruction
  2f:	74 08                	je     0x39
  31:	48 89 df             	mov    %rbx,%rdi
  34:	e8 36 14 8b fd       	call   0xfd8b146f
  39:	48 83 3b 00          	cmpq   $0x0,(%rbx)
  3d:	75 0d                	jne    0x4c
  3f:	e8                   	.byte 0xe8

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/23 02:04 upstream 4d2008430ce8 21339d7b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root general protection fault in hook_inode_free_security
2024/04/22 07:43 linux-next 7b4f2bc91c15 af24b050 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root general protection fault in hook_inode_free_security
* Struck through repros no longer work on HEAD.