================================================================== BUG: KASAN: null-ptr-deref in instrument_atomic_read include/linux/instrumented.h:68 [inline] BUG: KASAN: null-ptr-deref in atomic_read include/linux/atomic/atomic-instrumented.h:32 [inline] BUG: KASAN: null-ptr-deref in buffer_busy fs/buffer.c:2896 [inline] BUG: KASAN: null-ptr-deref in drop_buffers.constprop.0+0x99/0x510 fs/buffer.c:2908 Read of size 4 at addr 0000000000000060 by task kswapd0/82 CPU: 1 PID: 82 Comm: kswapd0 Not tainted 6.6.0-rc1-syzkaller-00125-ge42bebf6db29 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/04/2023 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106 kasan_report+0xda/0x110 mm/kasan/report.c:588 check_region_inline mm/kasan/generic.c:181 [inline] kasan_check_range+0xef/0x190 mm/kasan/generic.c:187 instrument_atomic_read include/linux/instrumented.h:68 [inline] atomic_read include/linux/atomic/atomic-instrumented.h:32 [inline] buffer_busy fs/buffer.c:2896 [inline] drop_buffers.constprop.0+0x99/0x510 fs/buffer.c:2908 try_to_free_buffers+0x21a/0x2d0 fs/buffer.c:2938 filemap_release_folio+0x212/0x270 mm/filemap.c:4101 shrink_folio_list+0x2917/0x3e30 mm/vmscan.c:2068 evict_folios+0x6bc/0x1910 mm/vmscan.c:5195 try_to_shrink_lruvec+0x769/0xb00 mm/vmscan.c:5371 shrink_one+0x45f/0x700 mm/vmscan.c:5415 shrink_many mm/vmscan.c:5469 [inline] lru_gen_shrink_node mm/vmscan.c:5586 [inline] shrink_node+0x20c2/0x3740 mm/vmscan.c:6526 kswapd_shrink_node mm/vmscan.c:7331 [inline] balance_pgdat+0xa37/0x1b90 mm/vmscan.c:7521 kswapd+0x5be/0xbf0 mm/vmscan.c:7781 kthread+0x33a/0x430 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 ================================================================== general protection fault, probably for non-canonical address 0xdffffc000000000c: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000060-0x0000000000000067] CPU: 0 PID: 82 Comm: kswapd0 Tainted: G B 6.6.0-rc1-syzkaller-00125-ge42bebf6db29 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/04/2023 RIP: 0010:arch_atomic_read arch/x86/include/asm/atomic.h:23 [inline] RIP: 0010:raw_atomic_read include/linux/atomic/atomic-arch-fallback.h:444 [inline] RIP: 0010:atomic_read include/linux/atomic/atomic-instrumented.h:33 [inline] RIP: 0010:buffer_busy fs/buffer.c:2896 [inline] RIP: 0010:drop_buffers.constprop.0+0xa0/0x510 fs/buffer.c:2908 Code: 48 8b 5b 08 49 39 dc 0f 84 80 00 00 00 e8 78 c6 89 ff 4c 8d 6b 60 be 04 00 00 00 4c 89 ef e8 17 92 df ff 4c 89 e8 48 c1 e8 03 <0f> b6 14 28 4c 89 e8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 38 RSP: 0018:ffffc900020cf2a8 EFLAGS: 00010216 RAX: 000000000000000c RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff888019afd940 RSI: ffffffff81dd7587 RDI: 0000000000000007 RBP: dffffc0000000000 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 00000000000b49b0 R12: ffff88807e814d90 R13: 0000000000000060 R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ffa1959d988 CR3: 00000000b3b8d000 CR4: 0000000000350ef0 Call Trace: try_to_free_buffers+0x21a/0x2d0 fs/buffer.c:2938 filemap_release_folio+0x212/0x270 mm/filemap.c:4101 shrink_folio_list+0x2917/0x3e30 mm/vmscan.c:2068 evict_folios+0x6bc/0x1910 mm/vmscan.c:5195 try_to_shrink_lruvec+0x769/0xb00 mm/vmscan.c:5371 shrink_one+0x45f/0x700 mm/vmscan.c:5415 shrink_many mm/vmscan.c:5469 [inline] lru_gen_shrink_node mm/vmscan.c:5586 [inline] shrink_node+0x20c2/0x3740 mm/vmscan.c:6526 kswapd_shrink_node mm/vmscan.c:7331 [inline] balance_pgdat+0xa37/0x1b90 mm/vmscan.c:7521 kswapd+0x5be/0xbf0 mm/vmscan.c:7781 kthread+0x33a/0x430 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:arch_atomic_read arch/x86/include/asm/atomic.h:23 [inline] RIP: 0010:raw_atomic_read include/linux/atomic/atomic-arch-fallback.h:444 [inline] RIP: 0010:atomic_read include/linux/atomic/atomic-instrumented.h:33 [inline] RIP: 0010:buffer_busy fs/buffer.c:2896 [inline] RIP: 0010:drop_buffers.constprop.0+0xa0/0x510 fs/buffer.c:2908 Code: 48 8b 5b 08 49 39 dc 0f 84 80 00 00 00 e8 78 c6 89 ff 4c 8d 6b 60 be 04 00 00 00 4c 89 ef e8 17 92 df ff 4c 89 e8 48 c1 e8 03 <0f> b6 14 28 4c 89 e8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 38 RSP: 0018:ffffc900020cf2a8 EFLAGS: 00010216 RAX: 000000000000000c RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff888019afd940 RSI: ffffffff81dd7587 RDI: 0000000000000007 RBP: dffffc0000000000 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 00000000000b49b0 R12: ffff88807e814d90 R13: 0000000000000060 R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000074095000 CR4: 0000000000350ef0 ---------------- Code disassembly (best guess): 0: 48 8b 5b 08 mov 0x8(%rbx),%rbx 4: 49 39 dc cmp %rbx,%r12 7: 0f 84 80 00 00 00 je 0x8d d: e8 78 c6 89 ff call 0xff89c68a 12: 4c 8d 6b 60 lea 0x60(%rbx),%r13 16: be 04 00 00 00 mov $0x4,%esi 1b: 4c 89 ef mov %r13,%rdi 1e: e8 17 92 df ff call 0xffdf923a 23: 4c 89 e8 mov %r13,%rax 26: 48 c1 e8 03 shr $0x3,%rax * 2a: 0f b6 14 28 movzbl (%rax,%rbp,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 38 test %edi,(%rax)