syzbot


general protection fault in ext4_xattr_set_entry (3)

Status: fixed on 2023/05/08 19:06
Reported-by: syzbot+3692538de1ab0bee7bc5@syzkaller.appspotmail.com
Fix commit: bb8592efcf8e ext4: fix use-after-free in ext4_xattr_set_entry
First crash: 386d, last: 383d
Cause bisection: failed (error log, bisect log)
  
Similar bugs (14)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-15 general protection fault in ext4_xattr_set_entry C error 1 449d 529d 2/2 fixed on 2023/03/28 12:29
android-5-10 general protection fault in ext4_xattr_set_entry (4) C error 62 352d 381d 2/2 fixed on 2023/06/07 17:22
android-5-10 general protection fault in ext4_xattr_set_entry (2) ext4 C error 423 387d 587d 2/2 fixed on 2023/05/03 13:06
android-54 KASAN: out-of-bounds Read in ext4_xattr_set_entry ext4 C 14 394d 1160d 0/2 auto-obsoleted due to no activity on 2023/08/23 09:06
android-5-10 general protection fault in ext4_xattr_set_entry C error 2 610d 624d 0/2 closed as invalid on 2022/09/26 18:30
android-5-10 general protection fault in ext4_xattr_set_entry (5) C done 11 349d 351d 2/2 fixed on 2023/06/13 02:27
linux-4.19 KASAN: use-after-free Read in ext4_xattr_set_entry (2) C done 7 985d 1443d 1/1 fixed on 2021/10/13 07:23
android-5-15 KASAN: out-of-bounds Read in ext4_xattr_set_entry 1 340d 340d 0/2 auto-obsoleted due to no activity on 2023/09/17 07:02
upstream KASAN: use-after-free Read in ext4_xattr_set_entry (5) ext4 2 669d 727d 0/26 auto-obsoleted due to no activity on 2022/11/22 17:19
upstream KASAN: use-after-free Read in ext4_xattr_set_entry (4) ext4 C error done 21 823d 1210d 20/26 fixed on 2022/03/28 10:17
linux-6.1 KASAN: out-of-bounds Read in ext4_xattr_set_entry origin:upstream missing-backport syz unreliable 2 8d22h 371d 0/3 upstream: reported syz repro on 2023/05/19 08:42
android-5-10 KASAN: out-of-bounds Read in ext4_xattr_set_entry C inconclusive 1 38d 248d 0/2 upstream: reported C repro on 2023/09/20 02:40
linux-4.14 KASAN: out-of-bounds Read in ext4_xattr_set_entry C error 2 624d 1138d 0/1 upstream: reported C repro on 2021/04/12 14:20
android-6-1 KASAN: out-of-bounds Read in ext4_xattr_set_entry origin:lts C 1 11d 11d 0/2 upstream: reported C repro on 2024/05/13 18:18

Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 1 PID: 290 Comm: syz-executor180 Not tainted 5.10.177-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/14/2023
RIP: 0010:ext4_xattr_set_entry+0x498/0x3960 fs/ext4/xattr.c:1616
Code: 24 78 48 89 d8 48 c1 e8 03 48 89 84 24 28 01 00 00 42 80 3c 38 00 74 08 48 89 df e8 e2 b3 ba ff 4c 8b 23 4c 89 e0 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 d1 2e 00 00 4c 89 e8 48 2b 44 24 20 48
RSP: 0018:ffffc90000976f00 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffffc90000977300 RCX: ffff88811e62cf00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000000001c
RBP: ffffc900009771a0 R08: ffffffff81ecc504 R09: ffffed1021fbc185
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: 0000000000000000 R14: 000000000000001c R15: dffffc0000000000
FS:  0000555555c32300(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055cca60091f8 CR3: 000000011e2cb000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 ext4_xattr_ibody_set+0x7c/0x2b0 fs/ext4/xattr.c:2253
 ext4_xattr_set_handle+0xc26/0x14e0 fs/ext4/xattr.c:2410
 ext4_initxattrs+0xa7/0x120 fs/ext4/xattr_security.c:43
 security_inode_init_security+0x252/0x390 security/security.c:1033
 ext4_init_security+0x34/0x40 fs/ext4/xattr_security.c:57
 __ext4_new_inode+0x3159/0x3f70 fs/ext4/ialloc.c:1319
 ext4_create+0x267/0x530 fs/ext4/namei.c:2770
 lookup_open fs/namei.c:3253 [inline]
 open_last_lookups fs/namei.c:3323 [inline]
 path_openat+0x1377/0x3000 fs/namei.c:3512
 do_filp_open+0x21c/0x460 fs/namei.c:3542
 do_sys_openat2+0x13f/0x6e0 fs/open.c:1217
 do_sys_open fs/open.c:1233 [inline]
 __do_sys_openat fs/open.c:1249 [inline]
 __se_sys_openat fs/open.c:1244 [inline]
 __x64_sys_openat+0x243/0x290 fs/open.c:1244
 do_syscall_64+0x34/0x70
 entry_SYSCALL_64_after_hwframe+0x61/0xc6
RIP: 0033:0x7f441d4d6bb9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 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:00007ffdbd613598 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f441d4d6bb9
RDX: 000000000000275a RSI: 0000000020000040 RDI: 00000000ffffff9c
RBP: 00007f441d4961c0 R08: 00007ffdbd613470 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f441d496250
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace 9f86e78141a94c28 ]---
RIP: 0010:ext4_xattr_set_entry+0x498/0x3960 fs/ext4/xattr.c:1616
Code: 24 78 48 89 d8 48 c1 e8 03 48 89 84 24 28 01 00 00 42 80 3c 38 00 74 08 48 89 df e8 e2 b3 ba ff 4c 8b 23 4c 89 e0 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 d1 2e 00 00 4c 89 e8 48 2b 44 24 20 48
RSP: 0018:ffffc90000976f00 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffffc90000977300 RCX: ffff88811e62cf00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000000001c
RBP: ffffc900009771a0 R08: ffffffff81ecc504 R09: ffffed1021fbc185
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: 0000000000000000 R14: 000000000000001c R15: dffffc0000000000
FS:  0000555555c32300(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055cca60091f8 CR3: 000000011e2cb000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	24 78                	and    $0x78,%al
   2:	48 89 d8             	mov    %rbx,%rax
   5:	48 c1 e8 03          	shr    $0x3,%rax
   9:	48 89 84 24 28 01 00 	mov    %rax,0x128(%rsp)
  10:	00
  11:	42 80 3c 38 00       	cmpb   $0x0,(%rax,%r15,1)
  16:	74 08                	je     0x20
  18:	48 89 df             	mov    %rbx,%rdi
  1b:	e8 e2 b3 ba ff       	callq  0xffbab402
  20:	4c 8b 23             	mov    (%rbx),%r12
  23:	4c 89 e0             	mov    %r12,%rax
  26:	48 c1 e8 03          	shr    $0x3,%rax
* 2a:	42 0f b6 04 38       	movzbl (%rax,%r15,1),%eax <-- trapping instruction
  2f:	84 c0                	test   %al,%al
  31:	0f 85 d1 2e 00 00    	jne    0x2f08
  37:	4c 89 e8             	mov    %r13,%rax
  3a:	48 2b 44 24 20       	sub    0x20(%rsp),%rax
  3f:	48                   	rex.W

Crashes (9):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/05/04 19:36 android13-5.10-lts 3ad342cf5b2c 518a39a6 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/07 18:18 android13-5.10-lts 3ad342cf5b2c 90c93c40 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/07 18:17 android13-5.10-lts 3ad342cf5b2c 90c93c40 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/07 18:07 android13-5.10-lts 3ad342cf5b2c 90c93c40 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/07 17:06 android13-5.10-lts 3ad342cf5b2c 90c93c40 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/06 04:51 android13-5.10-lts 3ad342cf5b2c de870ca5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/05 19:52 android13-5.10-lts 3ad342cf5b2c de870ca5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/04 18:59 android13-5.10-lts 3ad342cf5b2c 518a39a6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-android-5-10 general protection fault in ext4_xattr_set_entry
2023/05/04 10:15 android12-5.10-lts 416c4356f372 5b7ff9dd .config console log report info ci2-android-5-10 general protection fault in ext4_xattr_set_entry
* Struck through repros no longer work on HEAD.