Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

iv) Once flash the image with above changes , verify the kmemleak enabled in the device, it will create a kmemleak folder under /sys/modules/ and kmemleak file under /sys/kernel/debug/
Ex:

root@raspberrypi-rdk-mc:/sys/module# ls -l | grep "kmemleak"
drwxr-xr-x    3 root     root             0 Mar  5 09:49 kmemleak

root@raspberrypi-rdk-mc:~# ls /sys/kernel/debug/kmemleak
/sys/kernel/debug/kmemleak


v) Once enabled kmemleak we will get kernel memory leaks in /sys/kernel/debug/kmemleak file if leaks are reported.

Testing kmemleak tool with kmemleak-test module in rpi3:

Note: kmemleak-test.ko by default in rpi3 this module not compiled , there is no kmemleak-test.ko module , so enable to build as a module and generated module file.
kmemleak-test.koImage Modified

Step 1 : Copy kmemleak-test.ko module to this path /lib/modules/5.10.52-v7/  in box .
Step 2 : load the module to kernel space with insmod command.
Ex:

root@raspberrypi-rdk-mc:~# insmod /lib/modules/5.10.52-v7/kmemleak-test.ko
root@raspberrypi-rdk-mc:~#

Step3 : verify module loaded or not
Ex: lsmod

root@raspberrypi-rdk-mc:~# lsmod

Module                Size      Used by

kmemleak_test    16384        0 // Here module loaded.

ip6t_REJECT         16384       2

nf_reject_ipv6      16384        1 ip6t_REJECT

ip6table_nat        16384        1

br_netfilter           32768       0

xt_state                16384       0


Step4: Perform a scan
Ex: echo scan > /sys/kernel/debug/kmemleak

root@raspberrypi-rdk-mc:~# echo scan > /sys/kernel/debug/kmemleak
root@raspberrypi-rdk-mc:~#

Step5: Collect memory leak data

Ex: cat /sys/kernel/debug/kmemleak


View file
namekmemleak_report_for_kmeleak_test_module.txt
height250
View file
namekmemleak-test.ko
height250



Ref: https://static.lwn.net/kerneldoc/dev-tools/kmemleak.html