How to check kernel memory leak:
Step 1: Compile kernel with "CONFIG_DEBUG_KMEMLEAK" option enabled. You can get to this option via: make menuconfig, "Kernel Hacking", "Kernel Memory Leak Detector" , while compiling your kernel.
Step 2: Increase the config option "Maximum kmemleak early log entires" value to a sufficiently large number like 1000. The default value of 400 may not work correctly in all configurations.
Step 3: Install this kernel and Reboot to this newly configured kernel. Do not be alarmed if your machine is slow.
Step 4: Upon reboot, Check if your debugfs is mounted. Otherwise mount it. If all is well, you should see a file kmemleak under your debugfs mounted location.
mount -t debugfs nodev /sys/kernel/debug/
Step 5: Do your functional test and check memory leak
cat /sys/kernel/debug/kmemleak, and check dump information
Step 1: Compile kernel with "CONFIG_DEBUG_KMEMLEAK" option enabled. You can get to this option via: make menuconfig, "Kernel Hacking", "Kernel Memory Leak Detector" , while compiling your kernel.
Step 2: Increase the config option "Maximum kmemleak early log entires" value to a sufficiently large number like 1000. The default value of 400 may not work correctly in all configurations.
Step 3: Install this kernel and Reboot to this newly configured kernel. Do not be alarmed if your machine is slow.
Step 4: Upon reboot, Check if your debugfs is mounted. Otherwise mount it. If all is well, you should see a file kmemleak under your debugfs mounted location.
mount -t debugfs nodev /sys/kernel/debug/
Step 5: Do your functional test and check memory leak
cat /sys/kernel/debug/kmemleak, and check dump information