syzbot


WARNING in __set_page_dirty

Status: upstream: reported C repro on 2021/07/21 02:07
Reported-by: syzbot+0d5b462a6f07447991b3@syzkaller.appspotmail.com
Fix commit: e897be17a441 nilfs2: fix lockdep warnings in page operations for btree nodes
Patched on: [ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm32 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-leak ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce ci-upstream-kmsan-gce-386 ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu2-riscv64]
First crash: 351d, last: 123d

Cause bisection: failed (bisect log)
similar bugs (4):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-44 WARNING in __set_page_dirty (2) 2 960d 967d 0/2 auto-closed as invalid on 2020/03/14 23:01
android-44 WARNING in __set_page_dirty 1 1129d 1129d 0/2 auto-closed as invalid on 2019/10/25 08:43
android-49 WARNING in __set_page_dirty 5 1281d 1175d 0/3 auto-closed as invalid on 2019/06/27 13:07
android-49 WARNING in __set_page_dirty (2) 1 1052d 1052d 0/3 auto-closed as invalid on 2019/12/13 14:34

Sample crash report:
NILFS (loop0): segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds
------------[ cut here ]------------
WARNING: CPU: 0 PID: 8496 at include/linux/backing-dev.h:283 inode_to_wb include/linux/backing-dev.h:283 [inline]
WARNING: CPU: 0 PID: 8496 at include/linux/backing-dev.h:283 account_page_dirtied mm/page-writeback.c:2435 [inline]
WARNING: CPU: 0 PID: 8496 at include/linux/backing-dev.h:283 __set_page_dirty+0xace/0x1070 mm/page-writeback.c:2483
Modules linked in:
CPU: 0 PID: 8496 Comm: segctord Not tainted 5.14.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:inode_to_wb include/linux/backing-dev.h:283 [inline]
RIP: 0010:account_page_dirtied mm/page-writeback.c:2435 [inline]
RIP: 0010:__set_page_dirty+0xace/0x1070 mm/page-writeback.c:2483
Code: a8 01 00 00 be ff ff ff ff 48 8d 78 70 e8 ea 60 8d 07 31 ff 89 c3 89 c6 e8 cf a6 d8 ff 85 db 0f 85 ac f7 ff ff e8 82 9f d8 ff <0f> 0b e9 a0 f7 ff ff e8 76 9f d8 ff 4c 8d 75 08 48 b8 00 00 00 00
RSP: 0018:ffffc9000175f8c8 EFLAGS: 00010093
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff8880263b9c40 RSI: ffffffff819d083e RDI: 0000000000000003
RBP: ffffea000082dac0 R08: 0000000000000000 R09: 0000000000000001
R10: ffffffff819d0831 R11: 0000000000000000 R12: 0000000000000293
R13: ffff888037e60138 R14: ffff888037e60488 R15: ffff888037e602e0
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005593610abbe0 CR3: 0000000016882000 CR4: 0000000000350ef0
Call Trace:
 mark_buffer_dirty+0x49a/0x5e0 fs/buffer.c:1108
 nilfs_btree_propagate_p fs/nilfs2/btree.c:1889 [inline]
 nilfs_btree_propagate+0x4ae/0xea0 fs/nilfs2/btree.c:2085
 nilfs_bmap_propagate+0x73/0x170 fs/nilfs2/bmap.c:337
 nilfs_collect_dat_data+0x45/0xd0 fs/nilfs2/segment.c:625
 nilfs_segctor_apply_buffers+0x14a/0x470 fs/nilfs2/segment.c:1009
 nilfs_segctor_scan_file+0x3e4/0x700 fs/nilfs2/segment.c:1058
 nilfs_segctor_collect_blocks fs/nilfs2/segment.c:1224 [inline]
 nilfs_segctor_collect fs/nilfs2/segment.c:1494 [inline]
 nilfs_segctor_do_construct+0x16ee/0x6b20 fs/nilfs2/segment.c:2036
 nilfs_segctor_construct+0x7a7/0xb30 fs/nilfs2/segment.c:2372
 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2480 [inline]
 nilfs_segctor_thread+0x3c3/0xf90 fs/nilfs2/segment.c:2563
 kthread+0x3e5/0x4d0 kernel/kthread.c:319
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
----------------
Code disassembly (best guess):
   0:	a8 01                	test   $0x1,%al
   2:	00 00                	add    %al,(%rax)
   4:	be ff ff ff ff       	mov    $0xffffffff,%esi
   9:	48 8d 78 70          	lea    0x70(%rax),%rdi
   d:	e8 ea 60 8d 07       	callq  0x78d60fc
  12:	31 ff                	xor    %edi,%edi
  14:	89 c3                	mov    %eax,%ebx
  16:	89 c6                	mov    %eax,%esi
  18:	e8 cf a6 d8 ff       	callq  0xffd8a6ec
  1d:	85 db                	test   %ebx,%ebx
  1f:	0f 85 ac f7 ff ff    	jne    0xfffff7d1
  25:	e8 82 9f d8 ff       	callq  0xffd89fac
  2a:	0f 0b                	ud2     <-- trapping instruction
  2c:	e9 a0 f7 ff ff       	jmpq   0xfffff7d1
  31:	e8 76 9f d8 ff       	callq  0xffd89fac
  36:	4c 8d 75 08          	lea    0x8(%rbp),%r14
  3a:	48                   	rex.W
  3b:	b8 00 00 00 00       	mov    $0x0,%eax

Fix bisection attempts:
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-root 2022/03/02 04:03 upstream fb184c4af9b9 3fd2ea69 .config log report syz C
ci-upstream-kasan-gce-root 2022/01/31 03:43 upstream 26291c54e111 3fd2ea69 .config log report syz C
ci-upstream-kasan-gce-root 2022/01/01 03:23 upstream 800829388818 3fd2ea69 .config log report syz C
ci-upstream-kasan-gce-root 2021/12/02 03:04 upstream 58e1100fdc59 3fd2ea69 .config log report syz C
ci-upstream-kasan-gce-root 2021/09/14 07:54 upstream d0ee23f9d78b 3fd2ea69 .config log report syz C
Crashes (9):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-root 2021/08/13 03:29 upstream f8fbb47c6e86 3fd2ea69 .config log report syz C WARNING in __set_page_dirty
ci-qemu-upstream 2021/11/01 22:46 upstream 8bb7eca972ad 098b5d53 .config log report info WARNING in __set_page_dirty
ci-upstream-kasan-gce-root 2021/11/01 16:14 upstream 8bb7eca972ad 098b5d53 .config log report info WARNING in __set_page_dirty
ci-upstream-kasan-gce-root 2021/10/20 02:04 upstream d9abdee5fd5a 466b7db1 .config log report info WARNING in __set_page_dirty
ci-upstream-kasan-gce-root 2021/10/04 13:48 upstream 9e1ff307c779 ce697b49 .config log report info WARNING in __set_page_dirty
ci-upstream-kasan-gce-root 2021/09/16 12:41 upstream b7213ffa0e58 07e953c1 .config log report info WARNING in __set_page_dirty
ci-upstream-kasan-gce-root 2021/08/15 04:51 upstream ba31f97d43be 2489ab88 .config log report info WARNING in __set_page_dirty
ci-upstream-kasan-gce-root 2021/08/13 01:59 upstream f8fbb47c6e86 3fd2ea69 .config log report info WARNING in __set_page_dirty
ci-qemu-upstream-386 2021/07/17 01:58 upstream d936eb238744 f115ae98 .config log report info WARNING in __set_page_dirty