Following kernel oops noticed on qemu-arm64 while running selftests: net/mptcp: mptcp_connect.sh test cases on Linux next-20240102
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Test log: --- # selftests: net/mptcp: mptcp_connect.sh # INFO: set ns3-6593b550-fBKovo dev ns3eth2: ethtool -K gso off # INFO: set ns4-6593b550-fBKovo dev ns4eth3: ethtool -K gro off # Created /tmp/tmp.vFrp4xubYR (size 219663 /tmp/tmp.vFrp4xubYR) containing data sent by client # Created /tmp/tmp.FrEUtOwsBN (size 5630063 /tmp/tmp.FrEUtOwsBN) containing data sent by server # New MPTCP socket can be blocked via sysctl [ OK ] # INFO: validating network environment with pings <6>[ 32.891365] netem: version 1.3 <1>[ 32.901072] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 <1>[ 32.901926] Mem abort info: <1>[ 32.903342] ESR = 0x0000000086000004 <1>[ 32.903768] EC = 0x21: IABT (current EL), IL = 32 bits <1>[ 32.904589] SET = 0, FnV = 0 <1>[ 32.905415] EA = 0, S1PTW = 0 <1>[ 32.905914] FSC = 0x04: level 0 translation fault <1>[ 32.909254] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000103097000 <1>[ 32.909914] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000 <0>[ 32.913724] Internal error: Oops: 0000000086000004 [#1] PREEMPT SMP <4>[ 32.914739] Modules linked in: sch_netem crct10dif_ce sm3_ce sm3 sha3_ce sha512_ce sha512_arm64 fuse drm backlight dm_mod ip_tables x_tables <4>[ 32.916764] CPU: 0 PID: 438 Comm: tc Not tainted 6.7.0-rc8-next-20240102 #1 <4>[ 32.917555] Hardware name: linux,dummy-virt (DT) <4>[ 32.918608] pstate: 63400809 (nZCv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=-c) <4>[ 32.919392] pc : 0x0 <4>[ 32.920396] lr : qdisc_block_add_dev (net/sched/sch_api.c:1191)
<trim>
<4>[ 32.931258] Call trace: <4>[ 32.932088] 0x0 <4>[ 32.932626] qdisc_create (net/sched/sch_api.c:1390) <4>[ 32.933207] tc_modify_qdisc (net/sched/sch_api.c:1792) <4>[ 32.933791] rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) <4>[ 32.934280] netlink_rcv_skb (net/netlink/af_netlink.c:2544) <4>[ 32.934859] rtnetlink_rcv (net/core/rtnetlink.c:6634) <4>[ 32.935411] netlink_unicast (net/netlink/af_netlink.c:0 net/netlink/af_netlink.c:1367) <4>[ 32.935981] netlink_sendmsg (net/netlink/af_netlink.c:1908) <4>[ 32.936544] ____sys_sendmsg (net/socket.c:733 net/socket.c:745 net/socket.c:2582) <4>[ 32.937121] __sys_sendmsg (net/socket.c:2638 net/socket.c:2665) <4>[ 32.937677] __arm64_sys_sendmsg (net/socket.c:2672) <4>[ 32.938283] invoke_syscall (arch/arm64/kernel/syscall.c:0 arch/arm64/kernel/syscall.c:51) <4>[ 32.938852] el0_svc_common (include/linux/thread_info.h:127 arch/arm64/kernel/syscall.c:144) <4>[ 32.939395] do_el0_svc (arch/arm64/kernel/syscall.c:156) <4>[ 32.939913] el0_svc (arch/arm64/kernel/entry-common.c:133 arch/arm64/kernel/entry-common.c:144 arch/arm64/kernel/entry-common.c:679) <4>[ 32.940388] el0t_64_sync_handler (arch/arm64/kernel/entry-common.c:0) <4>[ 32.940968] el0t_64_sync (arch/arm64/kernel/entry.S:595)
<trim>
<4>[ 32.943570] ---[ end trace 0000000000000000 ]--- # ./mptcp_connect.sh: line 856: 438 Segmentation fault tc -net "$ns2" qdisc add dev ns2eth3 root netem loss random $tc_loss delay ${tc_delay}ms # INFO: Using loss of 0.84% delay 16 ms reorder 99% 26% with delay 4ms on ns3eth4
Steps to reproduce: --- https://storage.tuxsuite.com/public/linaro/lkft/tests/2aO5JSOqobe3WwSEQP81Ln...
Links: - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240102/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240102/tes...
-- Linaro LKFT https://lkft.linaro.org
Hi Naresh,
On 02/01/2024 10:48, Naresh Kamboju wrote:
Following kernel oops noticed on qemu-arm64 while running selftests: net/mptcp: mptcp_connect.sh test cases on Linux next-20240102
Thank you for having cc MPTCP list for this failure with an MPTCP selftest.
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Test log:
# selftests: net/mptcp: mptcp_connect.sh # INFO: set ns3-6593b550-fBKovo dev ns3eth2: ethtool -K gso off # INFO: set ns4-6593b550-fBKovo dev ns4eth3: ethtool -K gro off # Created /tmp/tmp.vFrp4xubYR (size 219663 /tmp/tmp.vFrp4xubYR) containing data sent by client # Created /tmp/tmp.FrEUtOwsBN (size 5630063 /tmp/tmp.FrEUtOwsBN) containing data sent by server # New MPTCP socket can be blocked via sysctl [ OK ] # INFO: validating network environment with pings <6>[ 32.891365] netem: version 1.3 <1>[ 32.901072] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 <1>[ 32.901926] Mem abort info: <1>[ 32.903342] ESR = 0x0000000086000004 <1>[ 32.903768] EC = 0x21: IABT (current EL), IL = 32 bits <1>[ 32.904589] SET = 0, FnV = 0 <1>[ 32.905415] EA = 0, S1PTW = 0 <1>[ 32.905914] FSC = 0x04: level 0 translation fault <1>[ 32.909254] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000103097000 <1>[ 32.909914] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000 <0>[ 32.913724] Internal error: Oops: 0000000086000004 [#1] PREEMPT SMP <4>[ 32.914739] Modules linked in: sch_netem crct10dif_ce sm3_ce sm3 sha3_ce sha512_ce sha512_arm64 fuse drm backlight dm_mod ip_tables x_tables <4>[ 32.916764] CPU: 0 PID: 438 Comm: tc Not tainted 6.7.0-rc8-next-20240102 #1 <4>[ 32.917555] Hardware name: linux,dummy-virt (DT) <4>[ 32.918608] pstate: 63400809 (nZCv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=-c) <4>[ 32.919392] pc : 0x0 <4>[ 32.920396] lr : qdisc_block_add_dev (net/sched/sch_api.c:1191)
It doesn't look like to be an issue with MPTCP, but with TC (QDisc).
It seems like the issue has already been reported. There is even a patch that has been proposed by Victor (but it looks like a new version is expected):
https://lore.kernel.org/netdev/20231231172320.245375-1-victor@mojatatu.com/
Cheers, Matt