selftests: net/mptcp: mptcp_connect.sh - Internal error: Oops: qdisc_block_add_dev (net/sched/sch_api.c:1191)

From: Naresh Kamboju
Date: Tue Jan 02 2024 - 04:48:44 EST


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@xxxxxxxxxx>

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/2aO5JSOqobe3WwSEQP81LncHQ7c/tuxrun_reproducer.sh

Links:
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240102/testrun/21857563/suite/log-parser-test/tests/
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240102/testrun/21857563/suite/log-parser-test/test/check-kernel-oops/log


--
Linaro LKFT
https://lkft.linaro.org