syzbot


WARNING in __set_page_dirty

Status: fixed on 2023/02/24 13:50
Subsystems: nilfs
[Documentation on labels]
Reported-by: syzbot+0d5b462a6f07447991b3@syzkaller.appspotmail.com
Fix commit: e897be17a441 nilfs2: fix lockdep warnings in page operations for btree nodes
First crash: 1008d, last: 779d
Cause bisection: failed (error log, bisect log)
  
Discussions (16)
Title Replies (including bot) Last reply
[PATCH 4.14 000/210] 4.14.296-rc1 review 213 (213) 2022/10/25 17:38
[PATCH 5.10 00/97] 5.10.118-rc1 review 43 (43) 2022/05/26 04:02
[PATCH 5.17 000/158] 5.17.10-rc1 review 172 (172) 2022/05/25 20:05
[PATCH 5.4 00/68] 5.4.196-rc1 review 71 (71) 2022/05/25 01:06
[PATCH 5.15 000/132] 5.15.42-rc1 review 142 (142) 2022/05/25 00:23
[PATCH 4.19 00/44] 4.19.245-rc1 review 48 (48) 2022/05/24 20:02
[PATCH AUTOSEL 5.15 01/27] gfs2: assign rgrp glock before compute_bitstructs 31 (31) 2022/05/18 12:24
[PATCH AUTOSEL 5.17 01/31] gfs2: assign rgrp glock before compute_bitstructs 32 (32) 2022/04/07 08:27
[PATCH AUTOSEL 4.19 01/11] gfs2: assign rgrp glock before compute_bitstructs 11 (11) 2022/04/07 01:16
[PATCH AUTOSEL 5.4 01/17] gfs2: assign rgrp glock before compute_bitstructs 17 (17) 2022/04/07 01:15
[PATCH AUTOSEL 5.10 01/25] gfs2: assign rgrp glock before compute_bitstructs 25 (25) 2022/04/07 01:14
[PATCH AUTOSEL 5.16 01/30] gfs2: assign rgrp glock before compute_bitstructs 30 (30) 2022/04/07 01:11
[patch 03/16] nilfs2: fix lockdep warnings in page operations for btree nodes 1 (1) 2022/04/01 18:28
[patch 03/16] nilfs2: fix lockdep warnings in page operations for btree nodes 1 (1) 2022/04/01 18:20
[PATCH 0/3] nilfs2 lockdep warning fixes 4 (4) 2022/03/21 12:57
[syzbot] WARNING in __set_page_dirty 4 (6) 2021/08/13 03:30
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 WARNING in __set_page_dirty origin:upstream C 6573 now 408d 0/3 upstream: reported C repro on 2023/03/08 14:57
linux-4.14 WARNING in __set_page_dirty C 2 418d 418d 0/1 upstream: reported C repro on 2023/02/26 05:45
android-44 WARNING in __set_page_dirty (2) 2 1617d 1624d 0/2 auto-closed as invalid on 2020/03/14 23:01
android-44 WARNING in __set_page_dirty 1 1786d 1786d 0/2 auto-closed as invalid on 2019/10/25 08:43
android-49 WARNING in __set_page_dirty 5 1938d 1832d 0/3 auto-closed as invalid on 2019/06/27 13:07
android-49 WARNING in __set_page_dirty (2) 1 1709d 1709d 0/3 auto-closed as invalid on 2019/12/13 14:34
linux-4.19 WARNING in __set_page_dirty C 10 418d 556d 0/1 upstream: reported C repro on 2022/10/11 13:48
Fix bisection attempts (5)
Created Duration User Patch Repo Result
2022/03/02 03:43 19m bisect fix upstream job log (0) log
2022/01/31 03:24 19m bisect fix upstream job log (0) log
2022/01/01 03:04 18m bisect fix upstream job log (0) log
2021/12/02 02:44 20m bisect fix upstream job log (0) log
2021/09/14 07:33 20m bisect fix upstream job log (0) log

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

Crashes (9):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/08/13 03:29 upstream f8fbb47c6e86 3fd2ea69 .config console log report syz C ci-upstream-kasan-gce-root WARNING in __set_page_dirty
2021/11/01 22:46 upstream 8bb7eca972ad 098b5d53 .config console log report info ci-qemu-upstream WARNING in __set_page_dirty
2021/11/01 16:14 upstream 8bb7eca972ad 098b5d53 .config console log report info ci-upstream-kasan-gce-root WARNING in __set_page_dirty
2021/10/20 02:04 upstream d9abdee5fd5a 466b7db1 .config console log report info ci-upstream-kasan-gce-root WARNING in __set_page_dirty
2021/10/04 13:48 upstream 9e1ff307c779 ce697b49 .config console log report info ci-upstream-kasan-gce-root WARNING in __set_page_dirty
2021/09/16 12:41 upstream b7213ffa0e58 07e953c1 .config console log report info ci-upstream-kasan-gce-root WARNING in __set_page_dirty
2021/08/15 04:51 upstream ba31f97d43be 2489ab88 .config console log report info ci-upstream-kasan-gce-root WARNING in __set_page_dirty
2021/08/13 01:59 upstream f8fbb47c6e86 3fd2ea69 .config console log report info ci-upstream-kasan-gce-root WARNING in __set_page_dirty
2021/07/17 01:58 upstream d936eb238744 f115ae98 .config console log report info ci-qemu-upstream-386 WARNING in __set_page_dirty
* Struck through repros no longer work on HEAD.