================================================================== BUG: KASAN: stack-out-of-bounds in jhash2 include/linux/jhash.h:138 [inline] BUG: KASAN: stack-out-of-bounds in __xfrm6_addr_hash net/xfrm/xfrm_hash.h:16 [inline] BUG: KASAN: stack-out-of-bounds in __xfrm6_daddr_saddr_hash net/xfrm/xfrm_hash.h:29 [inline] BUG: KASAN: stack-out-of-bounds in __xfrm_dst_hash+0x399/0x480 net/xfrm/xfrm_hash.h:95 Read of size 4 at addr ffffc90000007ad8 by task syz-executor.0/331 CPU: 0 PID: 331 Comm: syz-executor.0 Not tainted 5.15.189-syzkaller-1081268-ga71626bd56a5 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: __dump_stack+0x21/0x30 lib/dump_stack.c:88 dump_stack_lvl+0xee/0x150 lib/dump_stack.c:106 print_address_description+0x7f/0x2c0 mm/kasan/report.c:248 __kasan_report mm/kasan/report.c:427 [inline] kasan_report+0xf1/0x140 mm/kasan/report.c:444 __asan_report_load4_noabort+0x14/0x20 mm/kasan/report_generic.c:308 jhash2 include/linux/jhash.h:138 [inline] __xfrm6_addr_hash net/xfrm/xfrm_hash.h:16 [inline] __xfrm6_daddr_saddr_hash net/xfrm/xfrm_hash.h:29 [inline] __xfrm_dst_hash+0x399/0x480 net/xfrm/xfrm_hash.h:95 xfrm_dst_hash net/xfrm/xfrm_state.c:63 [inline] xfrm_state_find+0x27e/0x2a70 net/xfrm/xfrm_state.c:1092 xfrm_tmpl_resolve_one net/xfrm/xfrm_policy.c:2396 [inline] xfrm_tmpl_resolve net/xfrm/xfrm_policy.c:2441 [inline] xfrm_resolve_and_create_bundle+0x626/0x28d0 net/xfrm/xfrm_policy.c:2734 xfrm_bundle_lookup net/xfrm/xfrm_policy.c:2969 [inline] xfrm_lookup_with_ifid+0x6fd/0x2120 net/xfrm/xfrm_policy.c:3100 xfrm_lookup net/xfrm/xfrm_policy.c:3197 [inline] xfrm_lookup_route+0x3c/0x170 net/xfrm/xfrm_policy.c:3208 ip_route_output_flow+0x1d2/0x2d0 net/ipv4/route.c:2897 ip_route_output_ports include/net/route.h:169 [inline] igmpv3_newpack+0x263/0xca0 net/ipv4/igmp.c:372 add_grhead+0x75/0x2e0 net/ipv4/igmp.c:443 add_grec+0x116c/0x1410 net/ipv4/igmp.c:577 igmpv3_send_cr net/ipv4/igmp.c:714 [inline] igmp_ifc_timer_expire+0x89e/0xf80 net/ipv4/igmp.c:813 call_timer_fn+0x38/0x290 kernel/time/timer.c:1457 expire_timers kernel/time/timer.c:1502 [inline] __run_timers+0x639/0x9a0 kernel/time/timer.c:1773 run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1786 handle_softirqs+0x250/0x560 kernel/softirq.c:583 __do_softirq kernel/softirq.c:621 [inline] invoke_softirq kernel/softirq.c:443 [inline] __irq_exit_rcu+0x52/0xf0 kernel/softirq.c:670 irq_exit_rcu+0x9/0x10 kernel/softirq.c:682 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1108 [inline] sysvec_apic_timer_interrupt+0xa9/0xc0 arch/x86/kernel/apic/apic.c:1108 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:676 RIP: 0010:update_stack_state+0x3d7/0x480 arch/x86/kernel/unwind_frame.c:242 Code: 8b 05 7d 2f d1 7e 49 39 45 00 74 0e 48 8b 7d d0 e8 2e fc ff ff 49 89 c6 eb 1d 4c 8b 75 d0 4c 89 f0 48 c1 e8 03 42 80 3c 20 00 <74> 08 4c 89 f7 e8 ff e9 75 00 4d 8b 36 48 83 c3 48 48 89 d8 48 c1 RSP: 0018:ffffc90000a373d8 EFLAGS: 00000246 RAX: 1ffff92000146f28 RBX: ffffc90000a37528 RCX: ffffc90000a37901 RDX: ffffc90000a37938 RSI: 1ffff92000146ea6 RDI: ffffc90000a37580 RBP: ffffc90000a37498 R08: ffffc90000a375f0 R09: ffffc90000a375e8 R10: 0000000000000002 R11: 1ffff92000146ea5 R12: dffffc0000000000 R13: ffffc90000a37550 R14: ffffc90000a37940 R15: 1ffff92000146ead unwind_next_frame+0x3d5/0x700 arch/x86/kernel/unwind_frame.c:305 arch_stack_walk+0x108/0x140 arch/x86/kernel/stacktrace.c:25 stack_trace_save+0x98/0xe0 kernel/stacktrace.c:122 kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track mm/kasan/common.c:45 [inline] set_alloc_info mm/kasan/common.c:433 [inline] __kasan_slab_alloc+0xbd/0xf0 mm/kasan/common.c:466 kasan_slab_alloc include/linux/kasan.h:217 [inline] slab_post_alloc_hook+0x4f/0x2b0 mm/slab.h:550 slab_alloc_node mm/slub.c:3240 [inline] slab_alloc mm/slub.c:3250 [inline] kmem_cache_alloc+0xf7/0x260 mm/slub.c:3255 vm_area_dup+0x26/0x210 kernel/fork.c:368 dup_mmap kernel/fork.c:602 [inline] dup_mm kernel/fork.c:1522 [inline] copy_mm+0x93a/0x1390 kernel/fork.c:1574 copy_process+0x115c/0x3210 kernel/fork.c:2348 kernel_clone+0x23f/0x940 kernel/fork.c:2737 __do_sys_clone kernel/fork.c:2863 [inline] __se_sys_clone kernel/fork.c:2847 [inline] __x64_sys_clone+0x176/0x1d0 kernel/fork.c:2847 x64_sys_call+0x41f/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:57 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 RIP: 0033:0x7f54402cf993 Code: 1f 84 00 00 00 00 00 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 89 c2 85 c0 75 2c 64 48 8b 04 25 10 00 00 RSP: 002b:00007ffed1380e98 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f54402cf993 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000555583163750 R11: 0000000000000246 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000 Memory state around the buggy address: ffffc90000007980: 00 00 f3 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 ffffc90000007a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffffc90000007a80: f1 f1 f1 f1 00 00 00 00 00 00 00 f3 f3 f3 f3 f3 ^ ffffc90000007b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffc90000007b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ================================================================== ---------------- Code disassembly (best guess): 0: 8b 05 7d 2f d1 7e mov 0x7ed12f7d(%rip),%eax # 0x7ed12f83 6: 49 39 45 00 cmp %rax,0x0(%r13) a: 74 0e je 0x1a c: 48 8b 7d d0 mov -0x30(%rbp),%rdi 10: e8 2e fc ff ff call 0xfffffc43 15: 49 89 c6 mov %rax,%r14 18: eb 1d jmp 0x37 1a: 4c 8b 75 d0 mov -0x30(%rbp),%r14 1e: 4c 89 f0 mov %r14,%rax 21: 48 c1 e8 03 shr $0x3,%rax 25: 42 80 3c 20 00 cmpb $0x0,(%rax,%r12,1) * 2a: 74 08 je 0x34 <-- trapping instruction 2c: 4c 89 f7 mov %r14,%rdi 2f: e8 ff e9 75 00 call 0x75ea33 34: 4d 8b 36 mov (%r14),%r14 37: 48 83 c3 48 add $0x48,%rbx 3b: 48 89 d8 mov %rbx,%rax 3e: 48 rex.W 3f: c1 .byte 0xc1