Subject: Re: selftests: net: udpgso_bench.sh: RIP: 0010:lookup_reuseport

From: Jakub Kicinski <[email-masked]>
Date: Fri, 26 May 2023 20:16:07 -0700

On Wed, 24 May 2023 13:24:15 +0530 Naresh Kamboju wrote:
> While running selftests: net: udpgso_bench.sh on qemu-x86_64 the following
> kernel crash noticed on stable rc 6.3.4-rc2 kernel.

Can you repro this or it's just a one-off?

Adding some experts to CC.

> Test run log:
> =========
> 
> <12>[   38.049122] kselftest: Running tests in net
> TAP version 13
> 1..16
> # selftests: net: udpgso_bench.sh
> # ipv4
> # tcp
> # tcp tx:    230 MB/s     3905 calls/s   3905 msg/s
[...]
> # tcp tx:    191 MB/s     3254 calls/s   3254 msg/s
> # udp
> <4>[   88.821235] int3: 0000 [#1] PREEMPT SMP PTI
> <4>[   88.821491] CPU: 1 PID: 561 Comm: udpgso_bench_tx Not tainted 6.3.4-rc2 #1
> <4>[   88.821576] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009),
> BIOS 1.14.0-2 04/01/2014
> <4>[   88.821685] RIP: 0010:lookup_reuseport+0x4a/0x200
> <4>[   88.822122] Code: 74 0b 49 89 f6 0f b6 46 12 3c 01 75 07 31 c0
> e9 ed 00 00 00 4d 89 cf 44 89 c5 49 89 cd 49 89 fc 0f 1f 44 00 00 8b
> 5c 24 50 0f <1f> 44 00 00 41 8b 45 04 41 33 45 00 8b 0d b0 c5 ed 00 44
> 8d 04 08
> <4>[   88.822175] RSP: 0018:ffffa95c800c0b90 EFLAGS: 00000206
> <4>[   88.822215] RAX: 0000000000000007 RBX: 0000000000001f40 RCX:
> ffff966c02b66020
> <4>[   88.822228] RDX: ffff966c01a9aa00 RSI: ffff966c02801500 RDI:
> ffff966c03ae2e80
> <4>[   88.822241] RBP: 00000000000093bf R08: 00000000000093bf R09:
> ffffffffb0b2c8a0
> <4>[   88.822254] R10: 0000000042388386 R11: 00000000000093bf R12:
> ffff966c03ae2e80
> <4>[   88.822266] R13: ffff966c02b66020 R14: ffff966c02801500 R15:
> ffffffffb0b2c8a0
> <4>[   88.822312] FS:  00007f4e6ede4740(0000)
> GS:ffff966c7bd00000(0000) knlGS:0000000000000000
> <4>[   88.822330] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4>[   88.822343] CR2: 000055a1c0b90bf0 CR3: 0000000103b0e000 CR4:
> 00000000000006e0
> <4>[   88.822438] Call Trace:
> <4>[   88.823080]  <IRQ>
> <4>[   88.823274]  udp6_lib_lookup2+0xf8/0x1c0
> <4>[   88.823368]  __udp6_lib_lookup+0x113/0x3c0
> <4>[   88.823382]  ? __wake_up_common_lock+0x79/0x190
> <4>[   88.823403]  __udp6_lib_lookup_skb+0x76/0x90
> <4>[   88.823426]  __udp6_lib_rcv+0x295/0x400
> <4>[   88.823440]  ip6_protocol_deliver_rcu+0x34e/0x5c0
> <4>[   88.823483]  ip6_input+0x60/0x110
> <4>[   88.823496]  ? ip6_rcv_core+0x311/0x450
> <4>[   88.823509]  ipv6_rcv+0x47/0xf0
> <4>[   88.823523]  __netif_receive_skb+0x65/0x170
> <4>[   88.823539]  process_backlog+0xd7/0x180
> <4>[   88.823553]  __napi_poll+0x2c/0x1b0
> <4>[   88.823565]  net_rx_action+0x178/0x2e0
> <4>[   88.823580]  __do_softirq+0xc4/0x274
> <4>[   88.823595]  do_softirq+0x7e/0xb0
> <4>[   88.823751]  </IRQ>
> <4>[   88.823769]  <TASK>
> <4>[   88.823773]  __local_bh_enable_ip+0x6e/0x70
> <4>[   88.823786]  ip6_finish_output2+0x3fc/0x560
> <4>[   88.823803]  ip6_finish_output+0x1ab/0x320
> <4>[   88.823816]  ip6_output+0x6b/0x130
> <4>[   88.823827]  ? __pfx_ip6_finish_output+0x10/0x10
> <4>[   88.823839]  ip6_send_skb+0x1e/0x80
> <4>[   88.823850]  udp_v6_send_skb+0x26e/0x400
> <4>[   88.823865]  udpv6_sendmsg+0xb33/0xc60
> <4>[   88.823879]  ? __pfx_ip_generic_getfrag+0x10/0x10
> <4>[   88.823902]  sock_sendmsg+0x42/0xa0
> <4>[   88.823915]  __sys_sendto+0x281/0x2f0
> <4>[   88.823938]  __x64_sys_sendto+0x21/0x30
> <4>[   88.823949]  do_syscall_64+0x48/0xa0
> <4>[   88.823969]  ? exit_to_user_mode_prepare+0x2a/0x80
> <4>[   88.823981]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
> <4>[   88.824104] RIP: 0033:0x7f4e6eef1973
> <4>[   88.824267] Code: 8b 15 91 74 0c 00 f7 d8 64 89 02 48 c7 c0 ff
> ff ff ff eb b8 0f 1f 00 80 3d 71 fc 0c 00 00 41 89 ca 74 14 b8 2c 00
> 00 00 0f 05 <48> 3d 00 f0 ff ff 77 75 c3 0f 1f 40 00 55 48 83 ec 30 44
> 89 4c 24
> <4>[   88.824276] RSP: 002b:00007ffc3a3d79f8 EFLAGS: 00000202
> ORIG_RAX: 000000000000002c
> <4>[   88.824293] RAX: ffffffffffffffda RBX: 00005596927cf110 RCX:
> 00007f4e6eef1973
> <4>[   88.824298] RDX: 00000000000005ac RSI: 00005596927cf110 RDI:
> 0000000000000005
> <4>[   88.824304] RBP: 0000000000000000 R08: 0000000000000000 R09:
> 0000000000000000
> <4>[   88.824309] R10: 0000000000000000 R11: 0000000000000202 R12:
> 0000000000000002
> <4>[   88.824313] R13: 0000000000000005 R14: 000000000000e628 R15:
> 00000000000005ac
> <4>[   88.824335]  </TASK>
> <4>[   88.824377] Modules linked in: mptcp_diag tcp_diag inet_diag
> ip_tables x_tables
> <4>[   88.845108] ---[ end trace 0000000000000000 ]---
> <4>[   88.845178] RIP: 0010:lookup_reuseport+0x4a/0x200
> <4>[   88.845216] Code: 74 0b 49 89 f6 0f b6 46 12 3c 01 75 07 31 c0
> e9 ed 00 00 00 4d 89 cf 44 89 c5 49 89 cd 49 89 fc 0f 1f 44 00 00 8b
> 5c 24 50 0f <1f> 44 00 00 41 8b 45 04 41 33 45 00 8b 0d b0 c5 ed 00 44
> 8d 04 08
> <4>[   88.845232] RSP: 0018:ffffa95c800c0b90 EFLAGS: 00000206
> <4>[   88.845249] RAX: 0000000000000007 RBX: 0000000000001f40 RCX:
> ffff966c02b66020
> <4>[   88.845257] RDX: ffff966c01a9aa00 RSI: ffff966c02801500 RDI:
> ffff966c03ae2e80
> <4>[   88.845266] RBP: 00000000000093bf R08: 00000000000093bf R09:
> ffffffffb0b2c8a0
> <4>[   88.845273] R10: 0000000042388386 R11: 00000000000093bf R12:
> ffff966c03ae2e80
> <4>[   88.845281] R13: ffff966c02b66020 R14: ffff966c02801500 R15:
> ffffffffb0b2c8a0
> <4>[   88.845290] FS:  00007f4e6ede4740(0000)
> GS:ffff966c7bd00000(0000) knlGS:0000000000000000
> <4>[   88.845302] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4>[   88.845311] CR2: 000055a1c0b90bf0 CR3: 0000000103b0e000 CR4:
> 00000000000006e0
> <0>[   88.845862] Kernel panic - not syncing: Fatal exception in interrupt
> <0>[   88.848258] Kernel Offset: 0x2e800000 from 0xffffffff81000000
> (relocation range: 0xffffffff80000000-0xffffffffbfffffff)