Red Hat Bugzilla – Bug 178453
Slow memory leak in /proc/cluster/dlm_dir and /proc/cluster/dlm_locks
Last modified: 2009-04-16 16:28:14 EDT
Description of problem:
There is a slow memory leak when using the files /proc/cluster/dlm_dir and
/proc/cluster/dlm_locks for debugging.
This is very similar to bz 178367, however, unlike the /proc files described in
that bz, these two are normally used only for debug.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. gfs_tool getsb /mnt/<gfs filesystem mountpoint>
Remember or grab locktable name after the colon (:) char.
2. echo "<lock table>" > /proc/cluster/dlm_locks
This activates the debugging function of the dlm.ko kernel module.
3. cat /proc/cluster/dlm_dir
This will allocate (kmalloc) a handful of small memory chunks and give all but
two of them back (kfree).
Some kernel memory is not freed.
All memory allocated from the kernel should be freed up.
Bug is in dlm-kernel/src/proc.c.
I unit-tested this fix with printk messages to verify it was working as
planned and all kmallocs were paired with their proper kfrees.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.