From: Catalin Marinas <catalin.marinas@arm.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] kmemleak: Is DMI supported ?
Date: Fri, 12 Mar 2010 09:54:35 +0000 [thread overview]
Message-ID: <1268387675.3068.19.camel@e102109-lin.cambridge.arm.com> (raw)
In-Reply-To: <1268328868.2986.547.camel@edumazet-laptop>
Hi Eric,
On Thu, 2010-03-11 at 17:34 +0000, Eric Dumazet wrote:
> On my i686 machine, I have
> CONFIG_DMI=y
>
> and 12 entries in /sys/firmware/memmap/ like first one named "0" :
>
> $ grep . /sys/firmware/memmap/0/*
> /sys/firmware/memmap/0/end:0x9f3ff
> /sys/firmware/memmap/0/start:0x0
> /sys/firmware/memmap/0/type:System RAM
>
>
> All 12 kobjects are allocated in DMI zone between
> c1001000 b .brk.dmi_alloc
> c1011000 B __brk_limit)
>
> see arch/x86/kernel/setup.c:124
>
> #ifdef CONFIG_DMI
> RESERVE_BRK(dmi_alloc, 65536);
> #endif
>
> Still kmemleak seems to thing their names are unreferenced objects.
By default, kmemleak only scans the Data and BSS sections, any other
memory block that's not allocated via slab needs to be added explicitly.
In this case, you can add the line below somewhere in the x86 setup.c
file:
kmemleak_alloc(dmi_alloc, 65536, 0, 0);
An alternative would be to add x86 brk scanning explicitly in
kmemleak.c. It has the advantage that only the initialised parts of the
BRK are scanned. Something like below (untested):
diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 5b069e4..2183f99 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -98,6 +98,9 @@
#include <asm/sections.h>
#include <asm/processor.h>
#include <asm/atomic.h>
+#ifdef CONFIG_X86
+#include <asm/setup.h>
+#endif
#include <linux/kmemcheck.h>
#include <linux/kmemleak.h>
@@ -1166,6 +1169,9 @@ static void kmemleak_scan(void)
/* data/bss scanning */
scan_block(_sdata, _edata, NULL, 1);
scan_block(__bss_start, __bss_stop, NULL, 1);
+#ifdef CONFIG_X86
+ scan_block(__brk_base, _brk_end, NULL, 1);
+#endif
#ifdef CONFIG_SMP
/* per-cpu sections scanning */
--
Catalin
prev parent reply other threads:[~2010-03-12 9:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-11 17:34 Eric Dumazet
2010-03-12 9:54 ` Catalin Marinas [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1268387675.3068.19.camel@e102109-lin.cambridge.arm.com \
--to=catalin.marinas@arm.com \
--cc=eric.dumazet@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®