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