[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAA85sZvZ4Nuz6yk2ditVGoS0c2wcKU=MwUzOUoC2QT3_hjQ6FQ@mail.gmail.com>
Date: Wed, 5 Feb 2025 12:43:50 +0100
From: Ian Kumlien <ian.kumlien@...il.com>
To: Linux Kernel Network Developers <netdev@...r.kernel.org>
Cc: tariqt@...dia.com, Paolo Abeni <pabeni@...hat.com>
Subject: Bug when trying to use a old mellanox connextx-3 pro
Hi,
Was thinking of switching my firewall from gigabit networking to
10gbit, and connectx-3 pro seemed like a ok fit
(very cheap and works with a pcie x4 slot)
Anyway, booting using that interface results in a kernel oops after
just a few seconds...
I assume it could be related to this being enabled by default:
ethtool -k enp2s0 |grep rx-gro-list
rx-gro-list: on
I have had similar issues with gro-lists when playing with tun/tap
devices (haven't had the time to debug it yet though)
(Which is why I included you Paolo, it could however be completely unrelated)
Anyway, here is the kernel oops
<4>[ 34.088397] ------------[ cut here ]------------
<2>[ 34.088406] kernel BUG at ./include/linux/skbuff.h:2773!
<4>[ 34.088422] Oops: invalid opcode: 0000 [#1] PREEMPT_RT SMP NOPTI
<4>[ 34.088433] CPU: 11 UID: 0 PID: 2404 Comm: irq/108-mlx4-8@ Not
tainted 6.13.1 #441
<4>[ 34.088442] Hardware name: Supermicro Super
Server/A2SDi-12C-HLN4F, BIOS 1.9a 12/25/2023
<4>[ 34.088446] RIP: 0010:skb_pull (./include/linux/skbuff.h:2773
./include/linux/skbuff.h:2780 net/core/skbuff.c:2653)
<4>[ 34.088461] Code: 39 f0 72 1f 29 f0 89 47 70 3b 47 74 72 1c 89 f0
48 03 87 d0 00 00 00 48 89 87 d0 00 00 00 c3 cc cc cc cc 31 c0 c3 cc
cc cc cc <0f> 0b 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 41
57 41
All code
========
0: 39 f0 cmp %esi,%eax
2: 72 1f jb 0x23
4: 29 f0 sub %esi,%eax
6: 89 47 70 mov %eax,0x70(%rdi)
9: 3b 47 74 cmp 0x74(%rdi),%eax
c: 72 1c jb 0x2a
e: 89 f0 mov %esi,%eax
10: 48 03 87 d0 00 00 00 add 0xd0(%rdi),%rax
17: 48 89 87 d0 00 00 00 mov %rax,0xd0(%rdi)
1e: c3 ret
1f: cc int3
20: cc int3
21: cc int3
22: cc int3
23: 31 c0 xor %eax,%eax
25: c3 ret
26: cc int3
27: cc int3
28: cc int3
29: cc int3
2a:* 0f 0b ud2 <-- trapping instruction
2c: 90 nop
2d: 90 nop
2e: 90 nop
2f: 90 nop
30: 90 nop
31: 90 nop
32: 90 nop
33: 90 nop
34: 90 nop
35: 90 nop
36: 90 nop
37: 90 nop
38: 90 nop
39: 90 nop
3a: 90 nop
3b: 90 nop
3c: 90 nop
3d: 41 57 push %r15
3f: 41 rex.B
Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 90 nop
3: 90 nop
4: 90 nop
5: 90 nop
6: 90 nop
7: 90 nop
8: 90 nop
9: 90 nop
a: 90 nop
b: 90 nop
c: 90 nop
d: 90 nop
e: 90 nop
f: 90 nop
10: 90 nop
11: 90 nop
12: 90 nop
13: 41 57 push %r15
15: 41 rex.B
<4>[ 34.088468] RSP: 0018:ffffa047c1c67a78 EFLAGS: 00010297
<4>[ 34.088476] RAX: 0000000000000578 RBX: ffff94c1070d7400 RCX:
0000000000000000
<4>[ 34.088481] RDX: ffff94c105152400 RSI: 0000000000000034 RDI:
ffff94c1039f6f00
<4>[ 34.088485] RBP: ffff94c1039f6f00 R08: 0000000000000000 R09:
0000000000000000
<4>[ 34.088489] R10: 0000000000000000 R11: 0000000000000001 R12:
ffff94c1039f6f00
<4>[ 34.088493] R13: 000000000e041080 R14: 0000000000000578 R15:
0000000000000578
<4>[ 34.088498] FS: 0000000000000000(0000)
GS:ffff94c46fcc0000(0000) knlGS:0000000000000000
<4>[ 34.088504] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4>[ 34.088509] CR2: 0000562f4233b000 CR3: 000000010596e000 CR4:
00000000003526f0
<4>[ 34.088514] Call Trace:
<4>[ 34.088519] <TASK>
<4>[ 34.088523] ? __die (arch/x86/kernel/dumpstack.c:421
arch/x86/kernel/dumpstack.c:434)
<4>[ 34.088534] ? die (arch/x86/kernel/dumpstack.c:449)
<4>[ 34.088541] ? do_trap (arch/x86/kernel/traps.c:156
arch/x86/kernel/traps.c:197)
<4>[ 34.088553] ? do_error_trap (./arch/x86/include/asm/traps.h:58
arch/x86/kernel/traps.c:218)
<4>[ 34.088562] ? skb_pull (./include/linux/skbuff.h:2773
./include/linux/skbuff.h:2780 net/core/skbuff.c:2653)
<4>[ 34.088570] ? exc_invalid_op (arch/x86/kernel/traps.c:316)
<4>[ 34.088578] ? skb_pull (./include/linux/skbuff.h:2773
./include/linux/skbuff.h:2780 net/core/skbuff.c:2653)
<4>[ 34.088585] ? asm_exc_invalid_op (./arch/x86/include/asm/idtentry.h:621)
<4>[ 34.088597] ? skb_pull (./include/linux/skbuff.h:2773
./include/linux/skbuff.h:2780 net/core/skbuff.c:2653)
<4>[ 34.088605] skb_gro_receive_list (net/core/gro.c:242)
<4>[ 34.088614] tcp_gro_receive (./include/linux/skbuff.h:1670
./include/linux/skbuff.h:5049 net/ipv4/tcp_offload.c:371)
<4>[ 34.088626] inet_gro_receive (./include/net/gro.h:367
(discriminator 1) net/ipv4/af_inet.c:1545 (discriminator 1))
<4>[ 34.088637] dev_gro_receive (net/core/gro.c:516 (discriminator 4))
<4>[ 34.088645] ? __napi_build_skb (net/core/skbuff.c:545)
<4>[ 34.088655] napi_gro_frags (net/core/gro.c:765)
<4>[ 34.088661] mlx4_en_process_rx_cq
(drivers/net/ethernet/mellanox/mlx4/en_rx.c:955)
<4>[ 34.088671] ? mlx4_en_free_tx_desc
(drivers/net/ethernet/mellanox/mlx4/en_tx.c:339 (discriminator 1))
<4>[ 34.088682] mlx4_en_poll_rx_cq
(drivers/net/ethernet/mellanox/mlx4/en_rx.c:1021)
<4>[ 34.088690] __napi_poll.constprop.0 (net/core/dev.c:6902)
<4>[ 34.088700] net_rx_action (net/core/dev.c:6973 net/core/dev.c:7093)
<4>[ 34.088709] ? asm_common_interrupt (./arch/x86/include/asm/idtentry.h:693)
<4>[ 34.088718] ? mlx4_cq_completion
(drivers/net/ethernet/mellanox/mlx4/cq.c:113)
<4>[ 34.088729] ? __napi_schedule (net/core/dev.c:4577
net/core/dev.c:4545 net/core/dev.c:6198)
<4>[ 34.088737] ? mlx4_eq_int (drivers/net/ethernet/mellanox/mlx4/eq.c:523)
<4>[ 34.088743] ? update_curr_rt (kernel/sched/rt.c:997)
<4>[ 34.088751] handle_softirqs.isra.0
(./arch/x86/include/asm/jump_label.h:36
./include/trace/events/irq.h:142 kernel/softirq.c:562)
<4>[ 34.088764] __local_bh_enable_ip (kernel/softirq.c:246)
<4>[ 34.088770] irq_forced_thread_fn (kernel/irq/manage.c:1207)
<4>[ 34.088782] irq_thread (kernel/irq/manage.c:1325)
<4>[ 34.088791] ? __pfx_irq_forced_thread_fn (kernel/irq/manage.c:1192)
<4>[ 34.088802] ? __pfx_irq_thread_dtor (kernel/irq/manage.c:1234)
<4>[ 34.088812] ? __pfx_irq_thread (kernel/irq/manage.c:1301)
<4>[ 34.088821] kthread (kernel/kthread.c:389)
<4>[ 34.088830] ? __pfx_kthread (kernel/kthread.c:342)
<4>[ 34.088838] ret_from_fork (arch/x86/kernel/process.c:153)
<4>[ 34.088849] ? __pfx_kthread (kernel/kthread.c:342)
<4>[ 34.088857] ret_from_fork_asm (arch/x86/entry/entry_64.S:254)
<4>[ 34.088870] </TASK>
<4>[ 34.088873] Modules linked in: chaoskey
<4>[ 34.088885] ---[ end trace 0000000000000000 ]---
Powered by blists - more mailing lists