syzbot


KASAN: stack-out-of-bounds Read in __xfrm_dst_hash (2)

Status: premoderation: reported syz repro on 2025/09/08 11:08
Reported-by: syzbot+92bfbfff58bb48e40b44@syzkaller.appspotmail.com
First crash: 5d05h, last: 5d05h
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-5-10 KASAN: stack-out-of-bounds Read in __xfrm_dst_hash 17 1 214d 214d 0/2 auto-obsoleted due to no activity on 2025/05/12 11:45

Sample crash report:
==================================================================
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 ffffc90000007b18 by task swapper/0/0

CPU: 0 PID: 0 Comm: swapper/0 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/14/2025
Call Trace:
 <IRQ>
 __dump_stack+0x21/0x24 lib/dump_stack.c:77
 dump_stack_lvl+0x169/0x1d8 lib/dump_stack.c:118
 print_address_description+0x7f/0x2c0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:435 [inline]
 kasan_report+0xe2/0x130 mm/kasan/report.c:452
 __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/0x2880 net/xfrm/xfrm_state.c:1068
 xfrm_tmpl_resolve_one net/xfrm/xfrm_policy.c:2398 [inline]
 xfrm_tmpl_resolve net/xfrm/xfrm_policy.c:2443 [inline]
 xfrm_resolve_and_create_bundle+0x626/0x28d0 net/xfrm/xfrm_policy.c:2736
 xfrm_bundle_lookup net/xfrm/xfrm_policy.c:2971 [inline]
 xfrm_lookup_with_ifid+0x6e5/0x1980 net/xfrm/xfrm_policy.c:3102
 xfrm_lookup net/xfrm/xfrm_policy.c:3194 [inline]
 xfrm_lookup_route+0x3c/0x170 net/xfrm/xfrm_policy.c:3205
 ip_route_output_flow+0x1d2/0x2d0 net/ipv4/route.c:2803
 ip_route_output_ports include/net/route.h:169 [inline]
 igmpv3_newpack+0x264/0xc40 net/ipv4/igmp.c:372
 add_grhead+0x75/0x2e0 net/ipv4/igmp.c:443
 add_grec+0x116b/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:1450
 expire_timers kernel/time/timer.c:1495 [inline]
 __run_timers+0x639/0x9a0 kernel/time/timer.c:1789
 run_timer_softirq+0x6a/0xf0 kernel/time/timer.c:1802
 __do_softirq+0x255/0x563 kernel/softirq.c:309
 asm_call_irq_on_stack+0xf/0x20
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:405 [inline]
 __irq_exit_rcu+0x128/0x150 kernel/softirq.c:435
 irq_exit_rcu+0x9/0x10 kernel/softirq.c:447
 sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1106
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635
RIP: 0010:default_idle+0x12/0x20 arch/x86/kernel/process.c:718
Code: 48 8b 7c 24 10 e8 be 29 00 00 e9 71 ff ff ff e8 54 fe fa ff 00 00 cc cc 55 48 89 e5 0f 1f 44 00 00 0f 00 2d 80 13 4d 00 fb f4 <5d> c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 55 48 89 e5 41 57 41 56
RSP: 0018:ffffffff86207d58 EFLAGS: 00000246
RAX: ffff8881f7000000 RBX: ffffffff8621c040 RCX: 00000000000063ca
RDX: 0000000000000001 RSI: ffffffff85202040 RDI: ffffffff85202000
RBP: ffffffff86207d58 R08: dffffc0000000000 R09: ffffed103ee0ae7b
R10: ffffed103ee0ae7b R11: 1ffff1103ee0ae7a R12: 0000000000000000
R13: 1ffffffff0c43808 R14: 0000000000000000 R15: dffffc0000000000
 arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:709
 default_idle_call+0x71/0x1d0 kernel/sched/idle.c:114
 cpuidle_idle_call kernel/sched/idle.c:196 [inline]
 do_idle+0x1df/0x530 kernel/sched/idle.c:308
 cpu_startup_entry+0x18/0x20 kernel/sched/idle.c:404
 rest_init+0xe8/0xf0 init/main.c:714
 arch_call_rest_init+0xe/0x10 init/main.c:839
 start_kernel+0x42e/0x49c init/main.c:1041
 x86_64_start_reservations+0x2a/0x2c arch/x86/kernel/head64.c:519
 x86_64_start_kernel+0x60/0x63 arch/x86/kernel/head64.c:500
 secondary_startup_64_no_verify+0xad/0xbb


Memory state around the buggy address:
 ffffc90000007a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffffc90000007a80: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 00 00
>ffffc90000007b00: 00 00 00 f3 f3 f3 f3 f3 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
 ffffc90000007c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
----------------
Code disassembly (best guess):
   0:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
   5:	e8 be 29 00 00       	call   0x29c8
   a:	e9 71 ff ff ff       	jmp    0xffffff80
   f:	e8 54 fe fa ff       	call   0xfffafe68
  14:	00 00                	add    %al,(%rax)
  16:	cc                   	int3
  17:	cc                   	int3
  18:	55                   	push   %rbp
  19:	48 89 e5             	mov    %rsp,%rbp
  1c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  21:	0f 00 2d 80 13 4d 00 	verw   0x4d1380(%rip)        # 0x4d13a8
  28:	fb                   	sti
  29:	f4                   	hlt
* 2a:	5d                   	pop    %rbp <-- trapping instruction
  2b:	c3                   	ret
  2c:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
  33:	00 00 00
  36:	66 90                	xchg   %ax,%ax
  38:	55                   	push   %rbp
  39:	48 89 e5             	mov    %rsp,%rbp
  3c:	41 57                	push   %r15
  3e:	41 56                	push   %r14

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/08 11:07 android13-5.10-lts 48647f2c6800 d291dd2d .config console log report syz / log [disk image] [vmlinux] [kernel image] ci2-android-5-10 KASAN: stack-out-of-bounds Read in __xfrm_dst_hash
* Struck through repros no longer work on HEAD.