Re: [PATCH 00/10] Kernel memory leak detector 0.8

From: Catalin Marinas
Date: Thu Jul 13 2006 - 12:34:11 EST


On 12/07/06, Michal Piotrowski <michal.k.k.piotrowski@xxxxxxxxx> wrote:
I have tried
#define SCAN_BLOCK_SIZE 2048
and
#define SCAN_BLOCK_SIZE 1024
Unfortunately it doesn't change anything.

I realised that this only reduces the time running with interrupts
disabled but won't solve the soft lockup.

Please try something like this
on tty1
isic -s rand -d your ip (http://www.packetfactory.net/Projects/ISIC/)
on tty2
kml_collector (http://www.stardust.webpages.pl/files/o_bugs/kml/ml/kml_collector.sh)

(I have tried to read random files from /sys on vanilla kernel, but I
can't reproduce that lockup)

Couldn't get it on my (embedded) platform but I think that's because
there are only a few reports in the memleak file. You have thousands
of reports and I think reading the memleak file is causing the soft
lockup.

Until we identify the leak (or false positive), you can use the
attached patch to supress the reports for context_struct_to_string.
Hopefully, this should eliminate the soft lockup as well.

--
Catalin
Ignore the (real) leak report in context_struct_to_string

From: Catalin Marinas <catalin.marinas@xxxxxxx>

This might be a real leak but, because of the amount of information
kmemleak reports, we ignore it for now to allow testing of other parts of
kmemleak.

Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx>
---

security/selinux/ss/services.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index d2e80e6..f8cf098 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -548,6 +548,9 @@ static int context_struct_to_string(stru

/* Allocate space for the context; caller must free this space. */
scontextp = kmalloc(*scontext_len, GFP_ATOMIC);
+ /* This might be a real leak but we ignore it for now to allow
+ * testing other parts of kmemleak */
+ memleak_not_leak(scontextp);
if (!scontextp) {
return -ENOMEM;
}