syzbot


WARNING in __brelse (3)

Status: upstream: reported C repro on 2023/07/26 14:30
Subsystems: fs
[Documentation on labels]
Reported-by: syzbot+ce3af36144a13b018cc7@syzkaller.appspotmail.com
First crash: 309d, last: 41d
Cause bisection: introduced by (bisect log) :
commit f6e2c20ca7604e6a267c93a511d19dda72573be1
Author: Liu Shixin <liushixin2@huawei.com>
Date: Fri Apr 29 21:38:04 2022 +0000

  fs: sysv: check sbi->s_firstdatazone in complete_read_super

Crash: WARNING in invalidate_bh_lru (log)
Repro: C syz .config
  
Fix bisection: fixed by (bisect log) :
commit 6f861765464f43a71462d52026fbddfc858239a5
Author: Jan Kara <jack@suse.cz>
Date: Wed Nov 1 17:43:10 2023 +0000

  fs: Block writes to mounted block devices

  
Discussions (2)
Title Replies (including bot) Last reply
[syzbot] [fs?] WARNING in __brelse (3) 0 (2) 2024/02/15 15:55
[PATCH 0/1 ] fs: Warming in __brelse 1 (1) 2023/08/16 16:40
Similar bugs (8)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-49 WARNING in __brelse C 6 1880d 1870d 0/3 public: reported C repro on 2019/04/14 00:00
upstream WARNING in __brelse udf C inconclusive 22 464d 606d 22/26 fixed on 2023/02/24 13:50
linux-4.14 WARNING in __brelse vfs udf C 6 466d 573d 0/1 upstream: reported C repro on 2022/10/31 19:01
linux-6.1 WARNING in __brelse 8 26d 84d 0/3 upstream: reported on 2024/03/03 15:14
android-414 WARNING in __brelse C 10 1880d 1872d 0/1 public: reported C repro on 2019/04/12 00:00
upstream WARNING in __brelse (2) udf 1 456d 452d 0/26 auto-obsoleted due to no activity on 2023/06/25 16:51
linux-5.15 WARNING in __brelse 1 406d 406d 0/3 auto-obsoleted due to no activity on 2023/08/14 05:07
linux-4.19 WARNING in __brelse vfs reiserfs ext4 udf C 43 448d 604d 0/1 upstream: reported C repro on 2022/10/01 01:04
Last patch testing requests (4)
Created Duration User Patch Repo Result
2024/04/08 07:48 16m retest repro upstream report log
2024/02/15 13:04 20m retest repro upstream OK log
2024/01/13 19:03 21m retest repro upstream OK log
2023/08/09 06:58 28m andrew.kanner@gmail.com upstream report log
Fix bisection attempts (4)
Created Duration User Patch Repo Result
2024/02/15 07:46 8h07m bisect fix upstream job log (1)
2023/12/06 04:05 3h19m bisect fix upstream job log (0) log
2023/11/05 08:44 1h36m bisect fix upstream job log (0) log
2023/10/06 02:15 1h24m bisect fix upstream job log (0) log

Sample crash report:
VFS: brelse: Trying to free free buffer
WARNING: CPU: 0 PID: 4685 at fs/buffer.c:1235 __brelse fs/buffer.c:1235 [inline]
WARNING: CPU: 0 PID: 4685 at fs/buffer.c:1235 __brelse+0x6d/0xb0 fs/buffer.c:1229
Modules linked in:
CPU: 0 PID: 4685 Comm: udevd Not tainted 6.9.0-rc1-syzkaller #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
RIP: 0010:__brelse fs/buffer.c:1235 [inline]
RIP: 0010:__brelse+0x6d/0xb0 fs/buffer.c:1229
Code: 84 d2 75 52 44 8b 63 60 31 ff 44 89 e6 e8 2b 9d 82 ff 45 85 e4 75 20 e8 41 a2 82 ff 90 48 c7 c7 e0 0d 3e 8b e8 54 10 45 ff 90 <0f> 0b 90 90 5b 5d 41 5c e9 26 a2 82 ff e8 21 a2 82 ff be 04 00 00
RSP: 0018:ffffc90000007f40 EFLAGS: 00010082
RAX: 0000000000000000 RBX: ffff88802fb39cb0 RCX: ffffffff814fe149
RDX: ffff88802bb82440 RSI: ffffffff814fe156 RDI: 0000000000000001
RBP: ffff88802fb39d10 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
R13: ffff88802fb39cb0 R14: dffffc0000000000 R15: ffffffff820acfb0
FS:  00007f8fdef3a280(0000) GS:ffff88806b000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fff6bf4fe58 CR3: 000000001af94000 CR4: 0000000000350ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 brelse include/linux/buffer_head.h:309 [inline]
 __invalidate_bh_lrus fs/buffer.c:1487 [inline]
 invalidate_bh_lru+0xa2/0x190 fs/buffer.c:1500
 csd_do_func kernel/smp.c:133 [inline]
 __flush_smp_call_function_queue+0x27a/0x8c0 kernel/smp.c:511
 __sysvec_call_function+0x8c/0x410 arch/x86/kernel/smp.c:262
 instr_sysvec_call_function arch/x86/kernel/smp.c:257 [inline]
 sysvec_call_function+0x90/0xb0 arch/x86/kernel/smp.c:257
 </IRQ>
 <TASK>
 asm_sysvec_call_function+0x1a/0x20 arch/x86/include/asm/idtentry.h:710
RIP: 0010:kasan_check_range+0x10/0x1a0 mm/kasan/generic.c:188
Code: 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 0f 1f 00 48 85 f6 0f 84 50 01 00 00 48 89 f8 <41> 54 44 0f b6 c2 48 01 f0 55 53 0f 82 c6 00 00 00 48 b8 ff ff ff
RSP: 0018:ffffc90003a3f748 EFLAGS: 00000202
RAX: ffff88801f7fedc8 RBX: 00000000000000eb RCX: ffffffff843ec574
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff88801f7fedc8
RBP: dffffc0000000000 R08: 0000000000000003 R09: 0000000000000100
R10: 00000000000000eb R11: 0000000000000001 R12: ffffc90003a3f840
R13: ffff88801f7fedb0 R14: 00000000000000eb R15: 0000000000000000
 instrument_atomic_read include/linux/instrumented.h:68 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 tomoyo_check_acl+0x2e4/0x410 security/tomoyo/domain.c:184
 tomoyo_path_permission security/tomoyo/file.c:586 [inline]
 tomoyo_path_permission+0x1ff/0x3b0 security/tomoyo/file.c:573
 tomoyo_check_open_permission+0x377/0x3b0 security/tomoyo/file.c:777
 tomoyo_file_open+0x71/0x90 security/tomoyo/tomoyo.c:334
 security_file_open+0x78/0x630 security/security.c:2961
 do_dentry_open+0x583/0x18c0 fs/open.c:942
 do_open fs/namei.c:3642 [inline]
 path_openat+0x1dfb/0x2990 fs/namei.c:3799
 do_filp_open+0x1dc/0x430 fs/namei.c:3826
 do_sys_openat2+0x17a/0x1e0 fs/open.c:1406
 do_sys_open fs/open.c:1421 [inline]
 __do_sys_openat fs/open.c:1437 [inline]
 __se_sys_openat fs/open.c:1432 [inline]
 __x64_sys_openat+0x175/0x210 fs/open.c:1432
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xd2/0x260 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x6d/0x75
RIP: 0033:0x7f8fdeb1a477
Code: 10 00 00 00 44 8b 54 24 e0 48 89 44 24 c0 48 8d 44 24 d0 48 89 44 24 c8 44 89 c2 4c 89 ce bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 76 10 48 8b 15 82 69 0d 00 f7 d8 64 89 02 48 83
RSP: 002b:00007fff6bf50b38 EFLAGS: 00000287 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00005589dca2bed0 RCX: 00007f8fdeb1a477
RDX: 0000000000090800 RSI: 00005589dca1cbc0 RDI: 00000000ffffff9c
RBP: 00005589dcaa18f0 R08: 0000000000090800 R09: 00005589dca1cbc0
R10: 0000000000000000 R11: 0000000000000287 R12: 00005589dca1cbc0
R13: 00000000000000ff R14: 00005589b046c1c4 R15: 0000000000000000
 </TASK>
----------------
Code disassembly (best guess):
   0:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
   7:	00 00 00
   a:	90                   	nop
   b:	90                   	nop
   c:	90                   	nop
   d:	90                   	nop
   e:	90                   	nop
   f:	90                   	nop
  10:	90                   	nop
  11:	90                   	nop
  12:	90                   	nop
  13:	90                   	nop
  14:	90                   	nop
  15:	90                   	nop
  16:	90                   	nop
  17:	90                   	nop
  18:	90                   	nop
  19:	90                   	nop
  1a:	66 0f 1f 00          	nopw   (%rax)
  1e:	48 85 f6             	test   %rsi,%rsi
  21:	0f 84 50 01 00 00    	je     0x177
  27:	48 89 f8             	mov    %rdi,%rax
* 2a:	41 54                	push   %r12 <-- trapping instruction
  2c:	44 0f b6 c2          	movzbl %dl,%r8d
  30:	48 01 f0             	add    %rsi,%rax
  33:	55                   	push   %rbp
  34:	53                   	push   %rbx
  35:	0f 82 c6 00 00 00    	jb     0x101
  3b:	48                   	rex.W
  3c:	b8                   	.byte 0xb8
  3d:	ff                   	(bad)
  3e:	ff                   	(bad)
  3f:	ff                   	.byte 0xff

Crashes (21):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/03/25 07:47 upstream 4cece7649650 0ea90952 .config console log report syz C [disk image (non-bootable)] [vmlinux] [kernel image] [mounted in repro] ci-qemu-upstream WARNING in __brelse
2023/12/30 06:50 upstream f016f7547aee fb427a07 .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-gce-root WARNING in __brelse
2023/07/22 14:28 upstream d192f5382581 27cbe77f .config strace log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-kasan-gce-selinux-root WARNING in __brelse
2024/04/14 23:24 upstream fe46a7dd189e c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root WARNING in __brelse
2024/04/14 23:15 upstream fe46a7dd189e c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root WARNING in __brelse
2024/04/12 20:56 upstream fe46a7dd189e 27de0a5c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root WARNING in __brelse
2024/04/12 20:39 upstream fe46a7dd189e 27de0a5c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root WARNING in __brelse
2024/04/15 20:20 upstream 0bbac3facb5d 459f4b00 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream WARNING in __brelse
2024/04/14 23:21 upstream 72374d71c315 c8349e48 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream WARNING in __brelse
2024/04/12 20:58 upstream 586b5dfb51b9 a154e056 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream WARNING in __brelse
2024/04/12 20:38 upstream 586b5dfb51b9 a154e056 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream WARNING in __brelse
2024/04/15 20:14 upstream 0bbac3facb5d 459f4b00 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 WARNING in __brelse
2024/04/14 23:24 upstream 72374d71c315 c8349e48 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 WARNING in __brelse
2024/04/12 20:57 upstream 586b5dfb51b9 a154e056 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 WARNING in __brelse
2024/04/12 20:38 upstream 586b5dfb51b9 a154e056 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 WARNING in __brelse
2024/04/15 09:06 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b5d2afe8745b c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING in __brelse
2024/04/14 11:19 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b5d2afe8745b c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING in __brelse
2024/04/14 07:45 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b5d2afe8745b c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING in __brelse
2024/04/13 22:45 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b5d2afe8745b c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING in __brelse
2024/04/13 16:53 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b5d2afe8745b c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING in __brelse
2024/04/13 07:39 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci b5d2afe8745b c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 WARNING in __brelse
* Struck through repros no longer work on HEAD.