==================================================================
BUG: KASAN: out-of-bounds in instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
BUG: KASAN: out-of-bounds in atomic_dec include/linux/atomic/atomic-instrumented.h:257 [inline]
BUG: KASAN: out-of-bounds in put_bh include/linux/buffer_head.h:320 [inline]
BUG: KASAN: out-of-bounds in end_buffer_read_sync+0xbd/0xd0 fs/buffer.c:160
Write of size 4 at addr ffffc9000467e620 by task ksoftirqd/0/15
CPU: 0 PID: 15 Comm: ksoftirqd/0 Not tainted 6.1.124-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Call Trace:
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
print_address_description mm/kasan/report.c:316 [inline]
print_report+0x15f/0x4f0 mm/kasan/report.c:427
kasan_report+0x136/0x160 mm/kasan/report.c:531
kasan_check_range+0x27f/0x290 mm/kasan/generic.c:189
instrument_atomic_read_write include/linux/instrumented.h:102 [inline]
atomic_dec include/linux/atomic/atomic-instrumented.h:257 [inline]
put_bh include/linux/buffer_head.h:320 [inline]
end_buffer_read_sync+0xbd/0xd0 fs/buffer.c:160
end_bio_bh_io_sync+0xb3/0x110 fs/buffer.c:2655
req_bio_endio block/blk-mq.c:780 [inline]
blk_update_request+0x53b/0x1010 block/blk-mq.c:925
blk_mq_end_request+0x3a/0x70 block/blk-mq.c:1050
blk_complete_reqs block/blk-mq.c:1130 [inline]
blk_done_softirq+0xf8/0x140 block/blk-mq.c:1135
handle_softirqs+0x2ee/0xa40 kernel/softirq.c:571
__do_softirq kernel/softirq.c:605 [inline]
invoke_softirq kernel/softirq.c:445 [inline]
__irq_exit_rcu+0x157/0x240 kernel/softirq.c:654
irq_exit_rcu+0x5/0x20 kernel/softirq.c:666
instr_sysvec_call_function_single arch/x86/kernel/smp.c:262 [inline]
sysvec_call_function_single+0x9d/0xc0 arch/x86/kernel/smp.c:262
asm_sysvec_call_function_single+0x16/0x20 arch/x86/include/asm/idtentry.h:699
RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x4/0x60 kernel/kcov.c:215
Code: 00 0f 0b 0f 1f 00 53 48 89 fb e8 17 00 00 00 48 8b 3d e8 71 10 0d 48 89 de 5b e9 47 bf 56 00 cc cc cc cc cc cc cc 48 8b 04 24 <65> 48 8b 0d 34 d3 77 7e 65 8b 15 35 d3 77 7e 81 e2 00 01 ff 00 74
RSP: 0018:ffffc90000147e70 EFLAGS: 00000246
RAX: ffffffff815d917b RBX: 0000000000000000 RCX: ffff888017f5bb80
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffff888017f5d2e8 R08: ffffffff815bf7ab R09: ffffed1027fccf81
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff88823bc04000
R13: ffffffff8d1cf740 R14: ffff888017f5bb98 R15: dffffc0000000000
smpboot_thread_fn+0x5eb/0xa30 kernel/smpboot.c:114
kthread+0x28d/0x320 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
The buggy address belongs to the virtual mapping at
[ffffc90004678000, ffffc90004681000) created by:
copy_process+0x637/0x4060 kernel/fork.c:2096
The buggy address belongs to the physical page:
page:ffffea0001f344c0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7cd13
memcg:ffff88801bfbdc82
flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000000 0000000000000000 dead000000000122 0000000000000000
raw: 0000000000000000 0000000000000000 00000001ffffffff ffff88801bfbdc82
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask 0x102dc2(GFP_HIGHUSER|__GFP_NOWARN|__GFP_ZERO), pid 4342, tgid 4342 (syz.0.1), ts 96724844190, free_ts 94411157453
set_page_owner include/linux/page_owner.h:31 [inline]
post_alloc_hook+0x18d/0x1b0 mm/page_alloc.c:2532
prep_new_page mm/page_alloc.c:2539 [inline]
get_page_from_freelist+0x3731/0x38d0 mm/page_alloc.c:4328
__alloc_pages+0x28d/0x770 mm/page_alloc.c:5605
vm_area_alloc_pages mm/vmalloc.c:2994 [inline]
__vmalloc_area_node mm/vmalloc.c:3063 [inline]
__vmalloc_node_range+0x9b3/0x14b0 mm/vmalloc.c:3235
alloc_thread_stack_node kernel/fork.c:312 [inline]
dup_task_struct+0x3e5/0x6d0 kernel/fork.c:989
copy_process+0x637/0x4060 kernel/fork.c:2096
kernel_clone+0x222/0x920 kernel/fork.c:2681
__do_sys_clone3 kernel/fork.c:2980 [inline]
__se_sys_clone3+0x373/0x410 kernel/fork.c:2964
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:81
entry_SYSCALL_64_after_hwframe+0x68/0xd2
page last free stack trace:
reset_page_owner include/linux/page_owner.h:24 [inline]
free_pages_prepare mm/page_alloc.c:1459 [inline]
free_pcp_prepare mm/page_alloc.c:1509 [inline]
free_unref_page_prepare+0x12a6/0x15b0 mm/page_alloc.c:3384
free_unref_page+0x33/0x3e0 mm/page_alloc.c:3479
qlink_free mm/kasan/quarantine.c:168 [inline]
qlist_free_all+0x76/0xe0 mm/kasan/quarantine.c:187
kasan_quarantine_reduce+0x156/0x170 mm/kasan/quarantine.c:294
__kasan_slab_alloc+0x1f/0x70 mm/kasan/common.c:305
kasan_slab_alloc include/linux/kasan.h:201 [inline]
slab_post_alloc_hook+0x52/0x3a0 mm/slab.h:737
slab_alloc_node mm/slub.c:3398 [inline]
kmem_cache_alloc_node+0x136/0x310 mm/slub.c:3443
__alloc_skb+0xde/0x670 net/core/skbuff.c:505
alloc_skb include/linux/skbuff.h:1271 [inline]
alloc_skb_with_frags+0xa4/0x740 net/core/skbuff.c:6162
sock_alloc_send_pskb+0x915/0xa50 net/core/sock.c:2750
sock_alloc_send_skb include/net/sock.h:1926 [inline]
mld_newpack+0x1c0/0xa90 net/ipv6/mcast.c:1748
add_grhead net/ipv6/mcast.c:1851 [inline]
add_grec+0x1492/0x19a0 net/ipv6/mcast.c:1989
mld_send_cr net/ipv6/mcast.c:2115 [inline]
mld_ifc_work+0x68f/0xc90 net/ipv6/mcast.c:2653
process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292
worker_thread+0xa47/0x1200 kernel/workqueue.c:2439
kthread+0x28d/0x320 kernel/kthread.c:376
Memory state around the buggy address:
ffffc9000467e500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffffc9000467e580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffffc9000467e600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
^
ffffc9000467e680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffffc9000467e700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 0f 0b ud2
2: 0f 1f 00 nopl (%rax)
5: 53 push %rbx
6: 48 89 fb mov %rdi,%rbx
9: e8 17 00 00 00 call 0x25
e: 48 8b 3d e8 71 10 0d mov 0xd1071e8(%rip),%rdi # 0xd1071fd
15: 48 89 de mov %rbx,%rsi
18: 5b pop %rbx
19: e9 47 bf 56 00 jmp 0x56bf65
1e: cc int3
1f: cc int3
20: cc int3
21: cc int3
22: cc int3
23: cc int3
24: cc int3
25: 48 8b 04 24 mov (%rsp),%rax
* 29: 65 48 8b 0d 34 d3 77 mov %gs:0x7e77d334(%rip),%rcx # 0x7e77d365 <-- trapping instruction
30: 7e
31: 65 8b 15 35 d3 77 7e mov %gs:0x7e77d335(%rip),%edx # 0x7e77d36d
38: 81 e2 00 01 ff 00 and $0xff0100,%edx
3e: 74 .byte 0x74