syzbot
KASAN: use-after-free Read in diFree
Status:
upstream: reported C repro on 2020/10/13 01:51
Subsystems:
jfs
[Documentation on labels]
Reported-by: syzbot+e5197b28b438c9aa19a1@syzkaller.appspotmail.com
First crash: 2147d, last: 1309d
▶
▼
Similar bugs (12)
| Kernel |
Title |
Rank
🛈
|
Repro |
Cause bisect |
Fix bisect |
Count |
Last |
Reported |
Patched |
Status |
| linux-5.15 |
KASAN: use-after-free Read in diFree
|
19 |
syz, C |
|
error |
5 |
1168d |
1239d
|
0/3 |
auto-obsoleted due to no activity on 2023/10/07 20:25
|
| upstream |
KASAN: use-after-free Read in diFree
jfs
|
19 |
syz, C |
inconclusive |
unreliable |
110 |
973d |
1621d
|
0/29 |
auto-obsoleted due to no activity on 2024/03/22 04:27
|
| linux-6.1 |
KASAN: use-after-free Read in diFree
origin:lts-only
|
19 |
syz, C |
|
done |
7 |
1066d |
1227d
|
3/3 |
fixed on 2023/10/30 11:46
|
| linux-4.14 |
KASAN: use-after-free Read in diFree
jfs
|
19 |
syz, C |
|
error |
3 |
1286d |
2160d
|
0/1 |
upstream: reported C repro on 2020/09/30 00:31
|
| linux-4.19 |
BUG: unable to handle kernel paging request in diFree
|
8 |
syz, C |
|
done |
18 |
1869d |
2160d
|
1/1 |
fixed on 2021/08/17 00:59
|
| linux-4.14 |
general protection fault in diFree
|
2 |
|
|
|
1 |
2039d |
2039d
|
0/1 |
auto-closed as invalid on 2021/05/28 19:31
|
| linux-4.14 |
general protection fault in diFree (2)
|
2 |
syz, C |
|
|
2 |
1279d |
1684d
|
0/1 |
upstream: reported C repro on 2022/01/18 19:31
|
| upstream |
BUG: unable to handle kernel paging request in diFree
jfs
|
8 |
syz, C |
done |
|
13 |
1890d |
2161d
|
20/29 |
fixed on 2021/11/10 00:50
|
| linux-5.15 |
UBSAN: array-index-out-of-bounds in diFree
origin:upstream
missing-backport
|
15 |
syz, C |
|
done |
13 |
744d |
790d
|
3/3 |
fixed on 2024/09/19 18:24
|
| upstream |
KMSAN: uninit-value in diFree
jfs
|
7 |
syz, C |
|
|
2 |
556d |
556d
|
28/29 |
fixed on 2025/06/10 16:19
|
| linux-4.14 |
BUG: unable to handle kernel paging request in diFree
|
8 |
syz, C |
|
|
5 |
1286d |
2166d
|
0/1 |
upstream: reported C repro on 2020/09/23 16:53
|
| upstream |
UBSAN: array-index-out-of-bounds in diFree
jfs
|
15 |
syz, C |
inconclusive |
|
226 |
747d |
858d
|
27/29 |
fixed on 2024/08/14 03:44
|
▶
▼
Fix bisection attempts (14)
Sample crash report:
ERROR: (device loop0): xtSearch: XT_GETPAGE: xtree page corrupt
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8119 Comm: syz-executor368 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022
RIP: 0010:diFree+0x167/0x29c0 fs/jfs/jfs_imap.c:886
Code: 8b 44 24 10 48 8b 68 80 48 8b 44 24 18 4c 8d 6d 04 48 c1 e8 0c 4c 89 ea 48 c1 ea 03 48 89 04 24 48 b8 00 00 00 00 00 fc ff df <0f> b6 14 02 4c 89 e8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 fb
RSP: 0018:ffff88808cd3f930 EFLAGS: 00010247
RAX: dffffc0000000000 RBX: ffff8880a531abc0 RCX: ffffffff8272bf79
RDX: 0000000000000000 RSI: ffffffff8274e8b2 RDI: ffff88808ac5f468
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88808ac5f4e8
R13: 0000000000000004 R14: ffffffff889adf80 R15: ffff888097086df8
FS: 0000555556ff4300(0000) GS:ffff8880ba100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa4caebef80 CR3: 00000000b48dd000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
jfs_evict_inode+0x1a1/0x210 fs/jfs/inode.c:165
evict+0x2ed/0x760 fs/inode.c:559
iput_final fs/inode.c:1555 [inline]
iput+0x4f1/0x860 fs/inode.c:1581
diFreeSpecial fs/jfs/jfs_imap.c:563 [inline]
diFreeSpecial+0x63/0x80 fs/jfs/jfs_imap.c:555
jfs_mount+0x215/0x3d0 fs/jfs/jfs_mount.c:202
jfs_fill_super+0x55c/0xb50 fs/jfs/super.c:589
mount_bdev+0x2fc/0x3b0 fs/super.c:1158
mount_fs+0xa3/0x310 fs/super.c:1261
vfs_kern_mount.part.0+0x68/0x470 fs/namespace.c:961
vfs_kern_mount fs/namespace.c:951 [inline]
do_new_mount fs/namespace.c:2492 [inline]
do_mount+0x115c/0x2f50 fs/namespace.c:2822
ksys_mount+0xcf/0x130 fs/namespace.c:3038
__do_sys_mount fs/namespace.c:3052 [inline]
__se_sys_mount fs/namespace.c:3049 [inline]
__x64_sys_mount+0xba/0x150 fs/namespace.c:3049
do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f89c6ba920a
Code: 83 c4 08 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 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:00007ffc0ac36528 EFLAGS: 00000282 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f89c6ba920a
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007ffc0ac36540
RBP: 00007ffc0ac36540 R08: 00007ffc0ac36580 R09: 0000555556ff42c0
R10: 0000000000000000 R11: 0000000000000282 R12: 0000000000000004
R13: 00007ffc0ac36580 R14: 0000000000000357 R15: 0000000020005228
Modules linked in:
---[ end trace f794066fe363165a ]---
RIP: 0010:diFree+0x167/0x29c0 fs/jfs/jfs_imap.c:886
Code: 8b 44 24 10 48 8b 68 80 48 8b 44 24 18 4c 8d 6d 04 48 c1 e8 0c 4c 89 ea 48 c1 ea 03 48 89 04 24 48 b8 00 00 00 00 00 fc ff df <0f> b6 14 02 4c 89 e8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 fb
RSP: 0018:ffff88808cd3f930 EFLAGS: 00010247
RAX: dffffc0000000000 RBX: ffff8880a531abc0 RCX: ffffffff8272bf79
RDX: 0000000000000000 RSI: ffffffff8274e8b2 RDI: ffff88808ac5f468
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff88808ac5f4e8
R13: 0000000000000004 R14: ffffffff889adf80 R15: ffff888097086df8
FS: 0000555556ff4300(0000) GS:ffff8880ba000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055d99c373eb0 CR3: 00000000b48dd000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 8b 44 24 10 mov 0x10(%rsp),%eax
4: 48 8b 68 80 mov -0x80(%rax),%rbp
8: 48 8b 44 24 18 mov 0x18(%rsp),%rax
d: 4c 8d 6d 04 lea 0x4(%rbp),%r13
11: 48 c1 e8 0c shr $0xc,%rax
15: 4c 89 ea mov %r13,%rdx
18: 48 c1 ea 03 shr $0x3,%rdx
1c: 48 89 04 24 mov %rax,(%rsp)
20: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
27: fc ff df
* 2a: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx <-- trapping instruction
2e: 4c 89 e8 mov %r13,%rax
31: 83 e0 07 and $0x7,%eax
34: 83 c0 03 add $0x3,%eax
37: 38 d0 cmp %dl,%al
39: 7c 08 jl 0x43
3b: 84 d2 test %dl,%dl
3d: 0f .byte 0xf
3e: 85 fb test %edi,%ebx
* Struck through repros no longer work on HEAD.