Skip to content

panic: kernel BUG at net/core/skbuff.c:109! #1125

@melver

Description

@melver

Using a recent syzkaller config, we get the below panic on very recent Clang (0b90a08f7722980f6074c6eada8022242408cdb4). This issue does not exist in Clang 11 (no bisection attempted yet).

.config: bad.config.txt
steps to reproduce: 1) boot kernel; 2) try to ssh into VM or any other network-related activity.

------------[ cut here ]------------
kernel BUG at net/core/skbuff.c:109!
invalid opcode: 0000 [#1] PREEMPT SMP
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.8.0+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1 04/01/2014
RIP: 0010:skb_panic+0xc4/0xd0 net/core/skbuff.c:105
Code: 48 8b 74 24 08 48 8b 54 24 10 44 89 e9 44 8b 44 24 04 49 89 e9 b8 00 00 00 00 53 41 54 41 57 41 56 e8 7e ba 17 fc 48 83 c4 20 <0f> 0b 66 2e 0f 1f 84 00 00 00 00 00 55 41 57 41 56 41 55 41 54 53
RSP: 0018:ffffc900000e8450 EFLAGS: 00010286
RAX: 0000000000000098 RBX: ffffffff8739c99c RCX: 9f928d0f82712900
RDX: 0000000000000301 RSI: 0000000000000301 RDI: 0000000000000000
RBP: ffff8888136be800 R08: ffffffff813ca1fc R09: 0000ffff875f7d1f
R10: 0000ffffffffffff R11: 0000000000000000 R12: 00000000000002c0
R13: 00000000f19e81cc R14: ffff888721cd6774 R15: 0000000000000140
FS:  0000000000000000(0000) GS:ffff88881fa80000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f3a3c1efab4 CR3: 000000081177a006 CR4: 0000000000770ee0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 00000000
Call Trace:
 <IRQ>
 skb_under_panic+0xc/0x10 net/core/skbuff.c:119
 skb_push+0x96/0xa0 net/core/skbuff.c:1884
 tcp_make_synack+0x439/0x800 net/ipv4/tcp_output.c:3414
 tcp_v4_send_synack+0x71/0x3a0 net/ipv4/tcp_ipv4.c:979
 tcp_conn_request+0x1348/0x1640 net/ipv4/tcp_input.c:6771
 tcp_v4_conn_request+0x10b/0x130 net/ipv4/tcp_ipv4.c:1474
 tcp_rcv_state_process+0x74e/0x17a0 net/ipv4/tcp_input.c:6246
 tcp_v4_do_rcv+0x401/0x4a0 net/ipv4/tcp_ipv4.c:1664
 tcp_v4_rcv+0x1fdd/0x2830 net/ipv4/tcp_ipv4.c:2012
 ip_protocol_deliver_rcu+0x2f2/0x540 net/ipv4/ip_input.c:204
 ip_local_deliver_finish net/ipv4/ip_input.c:231 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 ip_local_deliver+0x26d/0x310 net/ipv4/ip_input.c:252
 dst_input include/net/dst.h:449 [inline]
 ip_sublist_rcv_finish net/ipv4/ip_input.c:550 [inline]
 ip_list_rcv_finish net/ipv4/ip_input.c:600 [inline]
 ip_sublist_rcv+0x61f/0x670 net/ipv4/ip_input.c:608
 ip_list_rcv+0x262/0x290 net/ipv4/ip_input.c:643
 __netif_receive_skb_list_ptype net/core/dev.c:5329 [inline]
 __netif_receive_skb_list_core+0x34b/0x450 net/core/dev.c:5377
 __netif_receive_skb_list+0x262/0x2e0 net/core/dev.c:5429
 netif_receive_skb_list_internal+0x16c/0x440 net/core/dev.c:5534
 gro_normal_list net/core/dev.c:5645 [inline]
 napi_complete_done+0x1a1/0x3a0 net/core/dev.c:6370
 virtqueue_napi_complete+0x28/0x80 drivers/net/virtio_net.c:329
 virtnet_poll+0x64f/0x780 drivers/net/virtio_net.c:1455
 napi_poll net/core/dev.c:6687 [inline]
 net_rx_action+0x317/0x8f0 net/core/dev.c:6757
 __do_softirq+0x1b6/0x30e kernel/softirq.c:298
 asm_call_on_stack+0xf/0x20 arch/x86/entry/entry_64.S:706
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:22 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:48 [inline]
 do_softirq_own_stack+0x71/0x90 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:393 [inline]
 __irq_exit_rcu+0x10c/0x120 kernel/softirq.c:423
 irq_exit_rcu+0x5/0x10 kernel/softirq.c:435
 common_interrupt+0x1e6/0x240 arch/x86/kernel/irq.c:239
 asm_common_interrupt+0x1e/0x40 arch/x86/include/asm/idtentry.h:572
RIP: 0010:native_safe_halt+0xe/0x10 arch/x86/include/asm/irqflags.h:61
Code: ff ff e9 0d ff ff ff e8 10 d7 24 fb e9 72 ff ff ff cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d 84 2b 5c 00 fb f4 <c3> 90 e9 07 00 00 00 0f 00 2d 74 2b 5c 00 f4 c3 cc cc 65 48 8b 04
RSP: 0018:ffffc90000083ef0 EFLAGS: 00000202
RAX: 0000000000000001 RBX: 0000000000000001 RCX: ffff88881c74c340
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffff88881c74c340 R08: ffffffff814f5c10 R09: 000088881c74c367
R10: 0000ffffffffffff R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: ffffc90000083f07 R15: 0000000000000000
 arch_safe_halt arch/x86/include/asm/paravirt.h:150 [inline]
 default_idle+0x1b/0x30 arch/x86/kernel/process.c:688
 default_idle_call kernel/sched/idle.c:94 [inline]
 cpuidle_idle_call kernel/sched/idle.c:163 [inline]
 do_idle+0xf7/0x2c0 kernel/sched/idle.c:276
 cpu_startup_entry+0x15/0x20 kernel/sched/idle.c:372
 secondary_startup_64+0xa4/0xb0 arch/x86/kernel/head_64.S:243
Modules linked in:
---[ end trace e6cbb0171868af05 ]---

Metadata

Metadata

Assignees

Labels

Kernel panicReported upstreamThis bug was filed on LLVM’s issue tracker, Phabricator, or the kernel mailing list.[ARCH] x86_64This bug impacts ARCH=x86_64[BUG] llvm (main)A bug in an unreleased version of LLVM (this label is appropriate for regressions)[FIXED][LLVM] 11This bug was fixed in LLVM 11.0[FIXED][LLVM] 12This bug was fixed in LLVM 12.0asm gotorelated to the implementation of asm goto

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions