onload icon indicating copy to clipboard operation
onload copied to clipboard

Unloading kernel modules causes the message kmemleak: 858 new suspected memory leaks (see /sys/kernel/debug/kmemleak)

Open ol-damirm opened this issue 1 year ago • 3 comments

Unloading kernel modules causes the message kmemleak: 858 new suspected memory leaks (see /sys/kernel/debug/kmemleak) I see this message on the kernel with KMEMLEAK enabled in the kernel config.

How to reproduce:

$ git clone https://github.com/Xilinx-CNS/onload
$ cd onload
$ ./scripts/onload_build --debug --kernel
$ cd build/x86_64_linux-6.1.31-1-debug-amd64/driver/linux
$ sudo ./load.sh
$ sudo ./unload.sh
$ sleep 15m
# from console: [ 2468.287909][ T4562] kmemleak: 858 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
$ sudo cat /sys/kernel/debug/kmemleak > kmemleak-onload-ba03aac0.txt

I see it after the commit ba03aac044 "onload_mktest_net_driver: Replacing net driver with v5_3_14_1016" on:

  • Distro: Debian-12
  • Linux 6.1.31-1-debug-amd64
  • NIC: Solarflare Communications SFC9120 10G Ethernet Controller

I attached the output from the last command from the reproducer: kmemleak-onload-ba03aac0.txt

ol-damirm avatar Jul 26 '23 11:07 ol-damirm

linux-6.1.31-debug-config.txt This is the config file used to build the kernel.

ol-alexandra avatar Jul 26 '23 11:07 ol-alexandra

I'm assuming those undecoded symbols in the backtraces are from within our drivers. Can you grab a copy of /proc/kallsyms while the driver is loaded so that we can decode the backtraces retroactively?

rhughes-xilinx avatar Jul 26 '23 12:07 rhughes-xilinx

@rhughes-xilinx Yes, here are the files: proc-kallsyms.txt kmemleak.txt

ol-damirm avatar Jul 26 '23 13:07 ol-damirm