mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] kmemleak: Ignore the aperture memory hole on x86_64
Date: Sat, 15 Aug 2009 23:34:41 +0100	[thread overview]
Message-ID: <1250375681.6889.25.camel@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <20090815141716.GA15941@elte.hu>

On Sat, 2009-08-15 at 15:17 +0100, Ingo Molnar wrote:
> * Catalin Marinas <catalin.marinas@arm.com> wrote:
> > +     /*
> > +      * Kmemleak should not scan this block as it may not be mapped via the
> > +      * kernel direct mapping.
> > +      */
> > +     kmemleak_ignore(p);
> 
> More importantly, kmemleak should _never_ do the garbage collection
> scan for device memory (such as the agp aperture above). All the
> aperture areas are in that category - PCI aperture, IOMMU areas,
> etc. etc.
> 
> Please double check that kmemleak does not check those - there are
> devices where pure reading of that address space can have
> side-effects.

I'll do a grep. But would such memory still be mapped in the kernel
direct mapping? In this particular case, it was alloc_bootmem() memory
which seems to have been unmapped (and cause an oops), otherwise, at
least on some architectures, may have problems with speculative fetches.

Kmemleak doesn't track other mappings like ioremap, so it should not
scan device memory.

Since you raised this, I realised there is a class of kmalloc'ed memory
blocks that may have some issues on non-coherent architectures. If such
blocks are used for DMA and cache invalidation is only done in
dma_map_single(FROM_DEVICE) (the ARM case), kmemleak scanning before
dma_unmap_single() may pollute the cache. One solution is to invalidate
the caches again in dma_unmap_single(). I'm not sure ignoring GFP_DMA
blocks would be feasible if this flag is used for other blocks
containing pointers. I need to do some tests but I don't think x86 is
affected.

Thanks.

-- 
Catalin


  reply	other threads:[~2009-08-15 22:35 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-29 15:26 [PATCH] kmemleak: Protect the seq start/next/stop sequence by rcu_read_lock() Catalin Marinas
2009-07-30  0:00 ` Andrew Morton
2009-07-30  8:24   ` Catalin Marinas
2009-08-02 11:14 ` Ingo Molnar
2009-08-10 15:55   ` Catalin Marinas
2009-08-10 18:45     ` Ingo Molnar
2009-08-10 22:56       ` Catalin Marinas
2009-08-11  7:32         ` Ingo Molnar
2009-08-11  8:55           ` Catalin Marinas
2009-08-12 12:17             ` Catalin Marinas
2009-08-12 15:32               ` Linus Torvalds
2009-08-12 15:39                 ` Catalin Marinas
2009-08-12 20:52               ` Ingo Molnar
2009-08-12 22:16                 ` kmemleak: Protect the seq start/next/stop sequence byrcu_read_lock() Catalin Marinas
2009-08-13  6:52                   ` Ingo Molnar
2009-08-13  9:39                     ` Catalin Marinas
2009-08-13  9:44                       ` Ingo Molnar
2009-08-13 14:44                         ` Catalin Marinas
2009-08-14 22:45                 ` Catalin Marinas
2009-08-14 22:47                   ` [PATCH] kmemleak: Allow rescheduling during an object scanning Catalin Marinas
2009-08-14 22:48                   ` [PATCH] kmemleak: Ignore the aperture memory hole on x86_64 Catalin Marinas
2009-08-15 14:17                     ` Ingo Molnar
2009-08-15 22:34                       ` Catalin Marinas [this message]
2009-08-16  7:04                         ` Ingo Molnar
2009-08-16 10:08                     ` Ingo Molnar
2009-08-16 21:48                       ` Catalin Marinas

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=1250375681.6889.25.camel@pc1117.cambridge.arm.com \
    --to=catalin.marinas@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.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®