syzbot


general protection fault in em_u32_match

Status: upstream: reported C repro on 2023/01/08 12:41
Reported-by: syzbot+6a2fb702e4aaed6ffa8d@syzkaller.appspotmail.com
First crash: 527d, last: 496d
Similar bugs (4)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 general protection fault in em_u32_match (2) C error 1 521d 521d 0/1 upstream: reported C repro on 2023/01/14 00:52
upstream general protection fault in em_u32_match net 1 1413d 1413d 0/27 auto-closed as invalid on 2020/11/02 22:53
linux-4.19 general protection fault in em_u32_match 1 1022d 1022d 0/1 auto-closed as invalid on 2021/12/29 15:06
upstream BUG: unable to handle kernel NULL pointer dereference in em_u32_match net C 2 535d 591d 22/27 fixed on 2023/02/24 13:50
Fix bisection attempts (1)
Created Duration User Patch Repo Result
2023/02/07 22:35 25m bisect fix linux-4.14.y job log (0) log

Sample crash report:
batman_adv: batadv0: Interface activated: batadv_slave_1
IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): bond0: link becomes ready
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.14.302-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
task: ffff8880b5464340 task.stack: ffff8880b5470000
RIP: 0010:em_u32_match+0x156/0x2f0 net/sched/em_u32.c:33
RSP: 0018:ffff8880ba506f60 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff8880af4975de RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffff8880ae9202c0 RDI: 0000000000000008
RBP: ffff8880b4200c00 R08: 0000000000000001 R09: ffffffff8a670b72
R10: 0000000000000000 R11: ffff8880b5464340 R12: 0000000000000000
R13: 0000000000000000 R14: ffff8880af4975c0 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000556ebd5da068 CR3: 000000009cce7000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 tcf_em_match net/sched/ematch.c:496 [inline]
 __tcf_em_tree_match+0x131/0x460 net/sched/ematch.c:522
 tcf_em_tree_match include/net/pkt_cls.h:367 [inline]
 basic_classify+0x193/0x280 net/sched/cls_basic.c:51
 tcf_classify+0xfd/0x300 net/sched/cls_api.c:337
 prio_classify net/sched/sch_prio.c:46 [inline]
 prio_enqueue+0x30c/0x670 net/sched/sch_prio.c:77
 __dev_xmit_skb net/core/dev.c:3225 [inline]
 __dev_queue_xmit+0x121d/0x2480 net/core/dev.c:3489
 neigh_hh_output include/net/neighbour.h:490 [inline]
 neigh_output include/net/neighbour.h:498 [inline]
 ip_finish_output2+0x9db/0x1340 net/ipv4/ip_output.c:237
 ip_finish_output+0x37c/0xc50 net/ipv4/ip_output.c:325
 NF_HOOK_COND include/linux/netfilter.h:239 [inline]
 ip_output+0x1cd/0x510 net/ipv4/ip_output.c:413
 dst_output include/net/dst.h:470 [inline]
 ip_local_out+0x93/0x170 net/ipv4/ip_output.c:125
 iptunnel_xmit+0x5cc/0x950 net/ipv4/ip_tunnel_core.c:91
 geneve_xmit_skb drivers/net/geneve.c:866 [inline]
 geneve_xmit+0xf15/0x2ca0 drivers/net/geneve.c:947
 __netdev_start_xmit include/linux/netdevice.h:4054 [inline]
 netdev_start_xmit include/linux/netdevice.h:4063 [inline]
 xmit_one net/core/dev.c:3005 [inline]
 dev_hard_start_xmit+0x188/0x890 net/core/dev.c:3021
 __dev_queue_xmit+0x1d7f/0x2480 net/core/dev.c:3521
 neigh_hh_output include/net/neighbour.h:490 [inline]
 neigh_output include/net/neighbour.h:498 [inline]
 ip6_finish_output2+0xc6a/0x1f10 net/ipv6/ip6_output.c:120
 ip6_finish_output+0x5c6/0xd50 net/ipv6/ip6_output.c:192
 NF_HOOK_COND include/linux/netfilter.h:239 [inline]
 ip6_output+0x1c5/0x660 net/ipv6/ip6_output.c:209
 dst_output include/net/dst.h:470 [inline]
 NF_HOOK include/linux/netfilter.h:250 [inline]
 mld_sendpack+0x5fe/0xea0 net/ipv6/mcast.c:1657
 mld_send_cr net/ipv6/mcast.c:1953 [inline]
 mld_ifc_timer_expire+0x57c/0xcd0 net/ipv6/mcast.c:2452
 call_timer_fn+0x14a/0x650 kernel/time/timer.c:1280
 expire_timers+0x232/0x4d0 kernel/time/timer.c:1319
 __run_timers kernel/time/timer.c:1637 [inline]
 run_timer_softirq+0x1d5/0x5a0 kernel/time/timer.c:1650
 __do_softirq+0x24d/0x9ff kernel/softirq.c:288
 invoke_softirq kernel/softirq.c:368 [inline]
 irq_exit+0x193/0x240 kernel/softirq.c:409
 exiting_irq arch/x86/include/asm/apic.h:638 [inline]
 smp_apic_timer_interrupt+0x141/0x5e0 arch/x86/kernel/apic/apic.c:1106
 apic_timer_interrupt+0x93/0xa0 arch/x86/entry/entry_64.S:796
 </IRQ>
RIP: 0010:native_safe_halt+0xe/0x10 arch/x86/include/asm/irqflags.h:61
RSP: 0018:ffff8880b5477e68 EFLAGS: 000002c2 ORIG_RAX: ffffffffffffff10
RAX: 1ffffffff11e13dc RBX: dffffc0000000000 RCX: 0000000000000000
RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffff8880b5464bc4
RBP: ffffffff88f09ed0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffed1016a8c868
R13: ffff8880b5464340 R14: 0000000000000000 R15: 0000000000000000
 arch_safe_halt arch/x86/include/asm/paravirt.h:94 [inline]
 default_idle+0x47/0x370 arch/x86/kernel/process.c:558
 cpuidle_idle_call kernel/sched/idle.c:156 [inline]
 do_idle+0x250/0x3c0 kernel/sched/idle.c:246
 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:351
 start_secondary+0x4db/0x670 arch/x86/kernel/smpboot.c:272
 secondary_startup_64+0xa5/0xb0 arch/x86/kernel/head_64.S:240
Code: 85 92 01 00 00 41 23 5c 24 0c 48 63 db 4c 01 fb e8 60 0a 73 fb 49 8d 7c 24 08 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 
RIP: em_u32_match+0x156/0x2f0 net/sched/em_u32.c:33 RSP: ffff8880ba506f60
---[ end trace b7a455b0e388be53 ]---
----------------
Code disassembly (best guess):
   0:	85 92 01 00 00 41    	test   %edx,0x41000001(%rdx)
   6:	23 5c 24 0c          	and    0xc(%rsp),%ebx
   a:	48 63 db             	movslq %ebx,%rbx
   d:	4c 01 fb             	add    %r15,%rbx
  10:	e8 60 0a 73 fb       	callq  0xfb730a75
  15:	49 8d 7c 24 08       	lea    0x8(%r12),%rdi
  1a:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  21:	fc ff df
  24:	48 89 fa             	mov    %rdi,%rdx
  27:	48 c1 ea 03          	shr    $0x3,%rdx
* 2b:	0f b6 14 02          	movzbl (%rdx,%rax,1),%edx <-- trapping instruction
  2f:	48 89 f8             	mov    %rdi,%rax
  32:	83 e0 07             	and    $0x7,%eax
  35:	83 c0 03             	add    $0x3,%eax
  38:	38 d0                	cmp    %dl,%al
  3a:	7c 08                	jl     0x44
  3c:	84 d2                	test   %dl,%dl
  3e:	0f                   	.byte 0xf
  3f:	85                   	.byte 0x85

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/01/08 12:41 linux-4.14.y c4215ee4771b 1dac8c7a .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-4-14 general protection fault in em_u32_match
* Struck through repros no longer work on HEAD.