==================================================================
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)