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