mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Ingo Molnar <mingo@elte.hu>,
	Vegard Nossum <vegard.nossum@gmail.com>,
	FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
	akpm@linux-foundation.org, sam@ravnborg.org,
	zippel@linux-m68k.org, linux-kbuild@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH -tip 2/5] x86: use asm-generic/dma-mapping-common.h
Date: Mon, 22 Jun 2009 16:24:41 +0100	[thread overview]
Message-ID: <1245684281.15580.102.camel@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <1245676935.6227.5.camel@penberg-laptop>

On Mon, 2009-06-22 at 16:22 +0300, Pekka Enberg wrote:
> On Mon, 2009-06-22 at 14:10 +0100, Catalin Marinas wrote:
> > On Mon, 2009-06-22 at 14:49 +0200, Ingo Molnar wrote:
> > > * Vegard Nossum <vegard.nossum@gmail.com> wrote:
> > > > Seems to be CONFIG_DEBUG_SLAB=y that is the culprit in this case. Hm,
> > > > is Kconfig busted?
> > > > 
> > > > lib/Kconfig.debug:301:config DEBUG_SLAB
> > > > lib/Kconfig.debug-302-  bool "Debug slab memory allocations"
> > > > lib/Kconfig.debug:303:  depends on DEBUG_KERNEL && SLAB && !KMEMCHECK
> > > > 
> > > > fujita-config:1475:CONFIG_DEBUG_SLAB=y
> > > > fujita-config:1558:CONFIG_KMEMCHECK=y
> > > > 
> > > > ...what gives? Pekka?
> > > 
> > > Kmemleak introduced this piece of not so nice solution recently:
> > > 
> > > +config DEBUG_KMEMLEAK
> > > +       bool "Kernel memory leak detector"
> > > +       depends on DEBUG_KERNEL && EXPERIMENTAL && (X86 || ARM) && \
> > > +               !MEMORY_HOTPLUG
> > > +       select DEBUG_SLAB if SLAB
> > > +       select SLUB_DEBUG if SLUB
> > > +       select DEBUG_FS if SYSFS
> > > +       select STACKTRACE if STACKTRACE_SUPPORT
> > > +       select KALLSYMS
> > > 
> > > that should be a depends line, not a select line.
> > 
> > Kmemleak doesn't strictly need DEBUG_SLAB to make it a dependency. But
> > enabling it may reduce (in theory) the false negatives by poisoning the
> > allocated objects (and hence clearing any possible pointers to other
> > objects). But I don't have any figures to show this is the case. I'll
> > post a patch to drop those selects.
> > 
> > BTW, wouldn't it be feasible for kbuild to ignore the select statements
> > if the selected config has unmet dependencies?
> 
> Hmm, no idea, lets cc some relevant people here. But can we remove the
> select and add a config option help text to kmemleak as a short-term
> solution?

Here it is:


kmemleak: Do not force the slab debugging Kconfig options

From: Catalin Marinas <catalin.marinas@arm.com>

Selecting DEBUG_SLAB or SLUB_DEBUG by the KMEMLEAK menu entry may cause
issues with other dependencies (KMEMCHECK). These configuration options
aren't strictly needed by kmemleak but they may increase the chances of
finding leaks. This patch also updates the KMEMLEAK config entry help
text.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
---
 lib/Kconfig.debug |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 23067ab..4c32b1a 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -340,8 +340,6 @@ config DEBUG_KMEMLEAK
 	bool "Kernel memory leak detector"
 	depends on DEBUG_KERNEL && EXPERIMENTAL && (X86 || ARM) && \
 		!MEMORY_HOTPLUG
-	select DEBUG_SLAB if SLAB
-	select SLUB_DEBUG if SLUB
 	select DEBUG_FS if SYSFS
 	select STACKTRACE if STACKTRACE_SUPPORT
 	select KALLSYMS
@@ -355,6 +353,9 @@ config DEBUG_KMEMLEAK
 	  allocations. See Documentation/kmemleak.txt for more
 	  details.
 
+	  Enabling DEBUG_SLAB or SLUB_DEBUG may increase the chances
+	  of finding leaks due to the slab objects poisoning.
+
 	  In order to access the kmemleak file, debugfs needs to be
 	  mounted (usually at /sys/kernel/debug).
 

-- 
Catalin


  reply	other threads:[~2009-06-22 15:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090620155605.GD12901@elte.hu>
     [not found] ` <20090622135717T.fujita.tomonori@lab.ntt.co.jp>
     [not found]   ` <1245650501.18751.0.camel@penberg-laptop>
     [not found]     ` <20090622203333U.fujita.tomonori@lab.ntt.co.jp>
     [not found]       ` <19f34abd0906220459w39271e29x99d578d0a49d593b@mail.gmail.com>
     [not found]         ` <19f34abd0906220543v64b5418di8b97d36214d093cc@mail.gmail.com>
     [not found]           ` <20090622124916.GA30553@elte.hu>
     [not found]             ` <1245676212.15580.68.camel@pc1117.cambridge.arm.com>
2009-06-22 13:22               ` Pekka Enberg
2009-06-22 15:24                 ` Catalin Marinas [this message]
2009-06-22 16:13                   ` Pekka Enberg
2009-05-15  3:55 [PATCH -tip v2 0/5] add common functions for struct dma_map_ops FUJITA Tomonori
2009-05-15  3:55 ` [PATCH -tip 2/5] x86: use asm-generic/dma-mapping-common.h FUJITA Tomonori
2009-05-28  7:20   ` Andrew Morton
2009-05-28  7:44     ` FUJITA Tomonori

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=1245684281.15580.102.camel@pc1117.cambridge.arm.com \
    --to=catalin.marinas@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@cs.helsinki.fi \
    --cc=sam@ravnborg.org \
    --cc=vegard.nossum@gmail.com \
    --cc=zippel@linux-m68k.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®