syzbot


KASAN: null-ptr-deref Read in fix_nodes

Status: upstream: reported C repro on 2023/04/17 07:27
Bug presence: origin:upstream
Labels: missing-backport
[Documentation on labels]
Reported-by: syzbot+85ae5542a869a0e56709@syzkaller.appspotmail.com
First crash: 373d, last: 114d
Fix commit to backport (bisect log) :
tree: upstream
commit e0c2ff903c320d3fd3c2c604dc401b3b7c0a1d13
Author: Peter Zijlstra <peterz@infradead.org>
Date: Wed May 31 11:58:41 2023 +0000

  sched/fair: Remove sched_feat(START_DEBIT)

  
Fix bisection: the issue occurs on the latest tested release (bisect log)
Crash: KASAN: null-ptr-deref Read in fix_nodes (log)
Repro: C syz .config
  
Bug presence (3)
Date Name Commit Repro Result
2023/10/16 linux-6.1.y (ToT) adc4d740ad9e C [report] KASAN: null-ptr-deref Read in fix_nodes
2023/06/03 upstream (ToT) 4ecd704a4c51 C [report] KASAN: null-ptr-deref Read in fix_nodes
2023/10/16 upstream (ToT) 58720809f527 C Didn't crash
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: null-ptr-deref Read in fix_nodes reiserfs C done done 17 110d 379d 0/26 auto-obsoleted due to no activity on 2024/04/13 10:42
linux-5.15 KASAN: null-ptr-deref Read in fix_nodes origin:upstream C 7 3d09h 374d 0/3 upstream: reported C repro on 2023/04/15 23:10
linux-4.19 general protection fault in fix_nodes C error 1 503d 503d 0/1 upstream: reported C repro on 2022/12/08 10:03
linux-4.14 general protection fault in fix_nodes syz error 1 496d 496d 0/1 upstream: reported syz repro on 2022/12/15 05:04
Fix bisection attempts (4)
Created Duration User Patch Repo Result
2024/01/05 16:15 6h26m fix candidate upstream job log (1)
2023/12/31 23:55 2h09m bisect fix linux-6.1.y job log (0) log
2023/12/01 17:27 2h12m bisect fix linux-6.1.y job log (0) log
2023/09/19 02:31 2h12m bisect fix linux-6.1.y job log (0) log

Sample crash report:
REISERFS warning: reiserfs-5093 is_leaf: item entry count seems wrong *3.5*[2 1 0(1) DIR], item_len 35, item_location 4029, free_space(entry_count) 2
REISERFS error (device loop0): vs-5150 search_by_key: invalid format found in block 540. Fsck?
==================================================================
BUG: KASAN: null-ptr-deref in instrument_atomic_read include/linux/instrumented.h:72 [inline]
BUG: KASAN: null-ptr-deref in _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
BUG: KASAN: null-ptr-deref in buffer_locked include/linux/buffer_head.h:123 [inline]
BUG: KASAN: null-ptr-deref in fix_nodes+0x44d/0x8c70 fs/reiserfs/fix_node.c:2578
Read of size 8 at addr 0000000000000000 by task syz-executor224/6148

CPU: 1 PID: 6148 Comm: syz-executor224 Not tainted 6.1.31-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/25/2023
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 print_report+0xe6/0x4f0 mm/kasan/report.c:398
 kasan_report+0x136/0x160 mm/kasan/report.c:495
 kasan_check_range+0x27f/0x290 mm/kasan/generic.c:189
 instrument_atomic_read include/linux/instrumented.h:72 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 buffer_locked include/linux/buffer_head.h:123 [inline]
 fix_nodes+0x44d/0x8c70 fs/reiserfs/fix_node.c:2578
 reiserfs_cut_from_item+0x463/0x2580 fs/reiserfs/stree.c:1742
 reiserfs_do_truncate+0xa12/0x15b0 fs/reiserfs/stree.c:1973
 reiserfs_truncate_file+0x4d6/0x810 fs/reiserfs/inode.c:2310
 reiserfs_setattr+0xc57/0x11c0 fs/reiserfs/inode.c:3395
 notify_change+0xdcd/0x1080 fs/attr.c:482
 do_truncate+0x21c/0x300 fs/open.c:65
 handle_truncate fs/namei.c:3216 [inline]
 do_open fs/namei.c:3561 [inline]
 path_openat+0x27e2/0x2e60 fs/namei.c:3714
 do_filp_open+0x230/0x480 fs/namei.c:3741
 do_sys_openat2+0x13b/0x500 fs/open.c:1318
 do_sys_open fs/open.c:1334 [inline]
 __do_sys_open fs/open.c:1342 [inline]
 __se_sys_open fs/open.c:1338 [inline]
 __x64_sys_open+0x221/0x270 fs/open.c:1338
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f304140e9e9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 71 15 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 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f30393992f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000002
RAX: ffffffffffffffda RBX: 00007f30414947f0 RCX: 00007f304140e9e9
RDX: 0000000000000000 RSI: 000000000014937e RDI: 0000000020000180
RBP: 00007f3041461410 R08: 00007f3039399700 R09: 0000000000000000
R10: 00007f3039399700 R11: 0000000000000246 R12: 0030656c69662f2e
R13: d8d39a1a12346eeb R14: 4df169de990d4b77 R15: 00007f30414947f8
 </TASK>
==================================================================

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/03 08:07 linux-6.1.y d2869ace6eeb a4ae4f42 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci2-linux-6-1-kasan KASAN: null-ptr-deref Read in fix_nodes
2023/10/31 10:05 linux-6.1.y 32c9cdbe383c b5729d82 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: null-ptr-deref Read in fix_nodes
2023/10/22 06:15 linux-6.1.y 7d24402875c7 361b23dc .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: null-ptr-deref Read in fix_nodes
2023/06/28 18:06 linux-6.1.y a1c449d00ff8 ca69c785 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: null-ptr-deref Read in fix_nodes
2023/04/17 07:27 linux-6.1.y 0102425ac76b ec410564 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: null-ptr-deref Read in fix_nodes
2023/07/05 05:21 linux-6.1.y 0f4ac6b4c5f0 80298b6f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 BUG: unable to handle kernel paging request in fix_nodes
* Struck through repros no longer work on HEAD.