Wind River Support Network

HomeDefectsLIN1023-946
Fixed

LIN1023-946 : kmemleak (clk_wzrd_probe+0x370/0x770) found on xilinx-zynqmp BSP board (Rev 1.0) with preempt-rt kernel and canfd.dtb

Created: Jun 15, 2023    Updated: Mar 3, 2024
Resolved Date: Mar 3, 2024
Found In Version: 10.23.30.1
Severity: Standard
Applicable for: Wind River Linux LTS 23
Component/s: BSP

Description

The following kmemleak only occurs on ZCU102 *Rev1.0* board with *zynqmp-zcu102-rev1.0-canfd.dtb* and preempt-rt kernel. It does not impact on basic functions.

...
unreferenced object 0xffffff8803851e00 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892616 (age 294.748s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 30 00 00 00 00 00 00 00 00 00 00 00  _out0...........
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<000000000d405e40>] clk_wzrd_probe+0x160/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
    [<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
unreferenced object 0xffffff880385c400 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892616 (age 294.748s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 36 00 00 00 00 00 00 00 00 00 00 00  _out6...........
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<00000000c5e19379>] clk_wzrd_probe+0x370/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
    [<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
unreferenced object 0xffffff880385c680 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892616 (age 294.748s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 35 00 00 00 00 00 00 00 00 00 00 00  _out5...........
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<00000000c5e19379>] clk_wzrd_probe+0x370/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
    [<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
unreferenced object 0xffffff880385c900 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892616 (age 294.756s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 34 00 00 00 00 00 00 00 00 00 00 00  _out4...........
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<00000000c5e19379>] clk_wzrd_probe+0x370/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
    [<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
unreferenced object 0xffffff880385cb80 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892616 (age 294.756s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 33 00 ff ff f8 cf da 08 c0 ff ff ff  _out3...........
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<00000000c5e19379>] clk_wzrd_probe+0x370/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
    [<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
unreferenced object 0xffffff880385ce00 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892616 (age 294.756s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 32 00 ff ff 6c f4 0d 08 c0 ff ff ff  _out2...l.......
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<00000000c5e19379>] clk_wzrd_probe+0x370/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
    [<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
unreferenced object 0xffffff880385a000 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892616 (age 294.764s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 31 00 00 00 00 00 00 00 00 00 00 00  _out1...........
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<00000000c5e19379>] clk_wzrd_probe+0x370/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
    [<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
unreferenced object 0xffffff880385a280 (size 128):
  comm "kworker/u8:0", pid 9, jiffies 4294892617 (age 294.760s)
  hex dump (first 32 bytes):
    38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a  80010000.clk_wiz
    5f 6f 75 74 30 00 00 00 00 00 00 00 00 00 00 00  _out0...........
  backtrace:
    [<00000000dbab453b>] __kmem_cache_alloc_node+0x130/0x1cc
    [<000000005d3a6fe5>] __kmalloc_node_track_caller+0x5c/0x1c4
    [<00000000b5ef36f9>] kvasprintf+0x8c/0x114
    [<000000003a33e5a2>] kasprintf+0x58/0x80
    [<00000000c5e19379>] clk_wzrd_probe+0x370/0x770
    [<00000000f02ddc26>] platform_probe+0x70/0xcc
    [<00000000c7d31491>] really_probe+0xc4/0x2e0
    [<0000000043249272>] __driver_probe_device+0x80/0x120
    [<000000008a158ffa>] driver_probe_device+0x48/0x130
    [<00000000fe3c5bef>] __device_attach_driver+0xc0/0x14c
    [<00000000235d4924>] bus_for_each_drv+0x84/0xe0
    [<0000000020b2a7d4>] __device_attach+0xa4/0x1a0
    [<000000008544c405>] device_initial_probe+0x1c/0x30
    [<00000000634eec4e>] bus_probe_device+0xa4/0xb0
    [<000000006d73d818>] deferred_probe_work_func+0x90/0xd0
[<0000000013b99ee5>] process_one_work+0x1f8/0x4b0
...


root@xilinx-zynqmp:~# uname -a
Linux xilinx-zynqmp 6.1.33-rt10-yocto-preempt-rt #1 SMP PREEMPT_RT Tue Jun 13 19:23:37 UTC 2023 aarch64 GNU/Linux
root@xilinx-zynqmp:~# cat /proc/cmdline 
console=ttyPS0,115200 clk_ignore_unused rw root=/dev/mmcblk0p2 rw no_console_suspend earlycon=cdns,mmio,0xFF000000,115200n8 ip=dhcp
root@xilinx-zynqmp:~# cat /proc/version 
Linux version 6.1.33-rt10-yocto-preempt-rt (oe-user@oe-host) (aarch64-wrs-linux-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.40.20230119) #1 SMP PREEMPT_RT Tue Jun 13 19:23:37 UTC 2023
root@xilinx-zynqmp:~# cat /etc/os-release 
ID=wrlinux
NAME="Wind River Linux development"
VERSION="10.23.16.0"
VERSION_ID=10.23.16.0
VERSION_CODENAME="${DISTRO_CODENAME}"
PRETTY_NAME="Wind River Linux development 23.16"

Steps to Reproduce

1. Build project 

$ setup.sh --machines xilinx-zynqmp --dl-layers --all-layers --accept-eula=yes
$ source environment-setup-x86_64-wrlinuxsdk-linux 
$ source oe-init-build-env
$ echo 'PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"' >> conf/local.conf
$ bitbake-layers add-layer testcases/wrlinux/wr-testing/bts-dev
$ echo ' require templates/feature/bts/template.conf'  >> conf/local.conf
$ bitbake wrlinux-image-std


2. Load particular BOOT.BIN (attached), kernel, dtb (*zynqmp-zcu102-rev1.0-canfd.dtb*), and rootfs to ZCU102 board (#25180 - *Rev1.0*)  and boot it up

3. Copy the test script attached and execute.

root@xilinx-zynqmp:~# cd /opt/wr-test/testcases/bts
copy can_fd.tar to /opt/wr-test/testcases/bts
root@xilinx-zynqmp:/opt/wr-test/testcases/bts# tar -xf can_fd.tar
root@xilinx-zynqmp:/opt/wr-test/testcases/bts# cd can_fd
root@xilinx-zynqmp:/opt/wr-test/testcases/bts/can_fd#  ./runtest.sh

Live chat
Online