Unable to handle kernel NULL pointer dereference at virtual address 0000000000000048

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000048

251 Views
clarke_liu_f
Contributor I

Hi NXP:

       I want to use dpdmux in dpaa2 platform.I refer to section 9.2.12.3 Traffic bifurcation using DPDMUX on DPAA2 of LSDK21.08.According to our own requirements, I made some modifications compared to the example.After successfully creating dpdmux, I found a fatal problem:When I ifconfig up/down the Ethernet interface(eth_X2) on another dpmac(dpmac.4) multiple times, the kernel mem abort.

 

clarke_liu_f_0-1713431859569.png

 

The full log is as follows:

-sh-5.0# dmesg |grep 2160
[    0.000000] Machine model: NXP Layerscape LX2160ARDB
[    0.643838] Machine: NXP Layerscape LX2160ARDB
[    0.648335] SoC family: QorIQ LX2160A
[    1.990384] Hardware name: NXP Layerscape LX2160ARDB (DT)
[    3.090361] Hardware name: NXP Layerscape LX2160ARDB (DT)
[    4.190360] Hardware name: NXP Layerscape LX2160ARDB (DT)
[    5.290368] Hardware name: NXP Layerscape LX2160ARDB (DT)
[    6.390360] Hardware name: NXP Layerscape LX2160ARDB (DT)
[    7.490360] Hardware name: NXP Layerscape LX2160ARDB (DT)
[    8.590368] Hardware name: NXP Layerscape LX2160ARDB (DT)
[    9.690361] Hardware name: NXP Layerscape LX2160ARDB (DT)
[   10.790360] Hardware name: NXP Layerscape LX2160ARDB (DT)
[   11.894367] Hardware name: NXP Layerscape LX2160ARDB (DT)
[   12.994360] Hardware name: NXP Layerscape LX2160ARDB (DT)
[   14.094360] Hardware name: NXP Layerscape LX2160ARDB (DT)
-sh-5.0# restool -v
restool v2.3 (commit lf-5.10.52-2.1.0)
-sh-5.0# restool -m
MC firmware version: 10.29.1
-sh-5.0# uname -a
Linux localhost 5.10.35-rt39 #3 SMP PREEMPT_RT Tue Feb 27 12:20:44 UTC 2024 aarch64 GNU/Linux
-sh-5.0#
-sh-5.0#
-sh-5.0# ls-listmac
dprc.1/dpmac.4 (end point: dpni.1)
dprc.1/dpmac.3 (end point: dpni.0)
-sh-5.0# ls-listni
dprc.1/dpni.1 (interface: eth_X2, end point: dpmac.4)
dprc.1/dpni.0 (interface: eth1, end point: dpmac.3)
-sh-5.0#
-sh-5.0# echo "dpni.0" > /sys/bus/fsl-mc/drivers/fsl_dpaa2_eth/unbind
-sh-5.0# restool dpni destroy "dpni.0"
dpni.0 is destroyed
-sh-5.0#
-sh-5.0# export DPIO_COUNT=8
-sh-5.0# export DPMCP_COUNT=2
-sh-5.0# /usr/local/dpdk/dpaa2/dynamic_dpl.sh dpni
parent - dprc.1
Creating Non nested DPRC
NEW DPRCs
dprc.1
  dprc.2
Using board type as 2160
Using High Performance Buffers

##################### Container  dprc.2  is created ####################

Container dprc.2 have following resources :=>
 * 2 DPMCP
 * 16 DPBP
 * 8 DPCON
 * 16 DPSECI
 * 1 DPNI
 * 8 DPIO
 * 2 DPCI
 * 8 DPDMAI
 * 0 DPRTC


######################### Configured Interfaces #########################

Interface Name        Endpoint              Mac Address
==============        ========              ==================
dpni.0                UNCONNECTED           00:00:00:00:5:1

-sh-5.0#
-sh-5.0# /usr/local/dpdk/dpaa2/dynamic_dpl.sh dpmac.3
parent - dprc.1
Creating Non nested DPRC
NEW DPRCs
dprc.1
  dprc.3
  dprc.2
Using board type as 2160
Using High Performance Buffers

##################### Container  dprc.3  is created ####################

Container dprc.3 have following resources :=>

 * 2 DPMCP
 * 16 DPBP
 * 8 DPCON
 * 16 DPSECI
 * 1 DPNI
 * 8 DPIO
 * 2 DPCI
 * 8 DPDMAI
 * 0 DPRTC


######################### Configured Interfaces #########################

Interface Name        Endpoint              Mac Address
==============        ========              ==================
dpni.2                dpmac.3               -Dynamic-

-sh-5.0#
-sh-5.0# ls-addni --no-link
Created interface: eth0 (object:dpni.3, endpoint: )
-sh-5.0#
-sh-5.0#echo dprc.3 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/unbind
-sh-5.0#restool dprc disconnect dprc.3 --endpoint=dpni.2
-sh-5.0#restool dpdmux create --default-if=1 --num-ifs=2 --method DPDMUX_METHOD_CUSTOM --manip=DPDMUX_MANIP_NONE --option=DPDMUX_OPT_CLS_MASK_SUPPORT --container=dprc.1
dpdmux.0 is created under dprc.1
-sh-5.0#restool dprc connect dprc.1 --endpoint1=dpdmux.0.0 --endpoint2=dpmac.3
-sh-5.0#restool dprc connect dprc.1 --endpoint1=dpdmux.0.1 --endpoint2=dpni.3
-sh-5.0#restool dprc connect dprc.1 --endpoint1=dpdmux.0.2 --endpoint2=dpni.2
-sh-5.0#restool dprc assign dprc.1 --object=dpdmux.0 --child=dprc.3 --plugged=1
-sh-5.0#echo dprc.3 > /sys/bus/fsl-mc/drivers/vfio-fsl-mc/bind
-sh-5.0#
-sh-5.0#
-sh-5.0# ls-listmac
dprc.1/dpmac.4 (end point: dpni.1)
dprc.1/dpmac.3 (end point: dpdmux.0.0)
-sh-5.0# ls-listni
dprc.1/dpni.3 (interface: eth0, end point: dpdmux.0.1)
dprc.1/dpni.1 (interface: eth_X2, end point: dpmac.4)
dprc.1/dprc.3/dpni.2 (end point: dpdmux.0.2)
dprc.1/dprc.2/dpni.0
-sh-5.0# -sh-5.0# 
-sh-5.0# 
-sh-5.0# ifconfig eth_X2 down
-sh-5.0# ifconfig eth_X2 up
-sh-5.0# [  693.918781] fsl_dpaa2_eth dpni.1 eth_X2: configuring for inband/sgmii link mode
-sh-5.0# 
-sh-5.0# [  694.958374] fsl_dpaa2_eth dpni.1 eth_X2: Link is Up - 100Mbps/Full - flow control rx/tx
[  694.958415] IPv6: ADDRCONF(NETDEV_CHANGE): eth_X2: link becomes ready
[  694.998536] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000048
[  694.998542] Mem abort info:
[  694.998543]   ESR = 0x96000004
[  694.998545]   EC = 0x25: DABT (current EL), IL = 32 bits
[  694.998547]   SET = 0, FnV = 0
[  694.998549]   EA = 0, S1PTW = 0
[  694.998550] Data abort info:
[  694.998551]   ISV = 0, ISS = 0x00000004
[  694.998552]   CM = 0, WnR = 0
[  694.998554] [0000000000000048] user address but active_mm is swapper
[  694.998556] Internal error: Oops: 96000004 [#1] PREEMPT_RT SMP
[  694.998559] Modules linked in: sig_sniffk(O)
[  694.998565] CPU: 13 PID: 2773 Comm: irq/138-dpio.0 Tainted: G        W  O      5.10.35-rt39 #3
[  694.998570] Hardware name: NXP Layerscape LX2160ARDB (DT)
[  694.998572] pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--)
[  694.998575] pc : dpaa2_eth_poll+0xe8/0x380
[  694.998586] lr : dpaa2_eth_poll+0x108/0x380
[  694.998589] sp : ffff800016f5bb70
[  694.998590] x29: ffff800016f5bb70 x28: ffff2fab6337f1c8
[  694.998594] x27: ffff2fab6337f000 x26: 0000000000000000
[  694.998597] x25: ffff2fab633c0a00 x24: 0000000000000000
[  694.998600] x23: 0000000000000000 x22: 0000000000000000
[  694.998603] x21: ffff2fab633c0a00 x20: 0000000000000001
[  694.998606] x19: 000000000000000d x18: 000000000000000e
[  694.998608] x17: 0000000000000001 x16: 0000000000000019
[  694.998611] x15: 0000000000000033 x14: 0000000000000142
[  694.998614] x13: 0000000000000000 x12: 0000000000000000
[  694.998617] x11: 00000000000965f1 x10: ffff6a56ce1c0000
[  694.998620] x9 : ffff800016f5ba10 x8 : 0000000004ffffff
[  694.998623] x7 : ffff800016f80780 x6 : 000000000000000f
[  694.998625] x5 : 0000000000000001 x4 : 0000000000000031
[  694.998628] x3 : 0000000000000000 x2 : ffff2fab63324020
[  694.998631] x1 : ffff2fab6337f000 x0 : ffff2fab633c0a00
[  694.998634] Call trace:
[  694.998636]  dpaa2_eth_poll+0xe8/0x380
[  694.998639]  net_rx_action+0x118/0x378
[  694.998644]  __do_softirq+0x10c/0x210
[  694.998648]  __local_bh_enable_ip+0xcc/0x130
[  694.998652]  irq_forced_thread_fn+0x80/0xc0
[  694.998657]  irq_thread+0x150/0x260
[  694.998660]  kthread+0x174/0x198
[  694.998665]  ret_from_fork+0x10/0x34
[  694.998670] Code: 11000694 aa1b03e1 aa1803e3 aa1503e0 (f9402705)
[  694.998674] ---[ end trace 000000000000000e ]---

 

0 Kudos
Reply
1 Reply

186 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please use all the images(such as mc and restool) from LSDK 21.08 release.

Please try whether there is problem to use the default configuration descripted in LSDK 21.08 document on your target board.

0 Kudos
Reply