All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Mel Gorman <mel@csn.ul.ie>, Ingo Molnar <mingo@elte.hu>,
	Andrew Morton <akpm@linux-foundation.org>,
	torvalds@linux-foundation.org, fengguang.wu@intel.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal  allocations
Date: Wed, 17 Jun 2009 14:23:27 +0100	[thread overview]
Message-ID: <1245245007.11889.42.camel@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <84144f020906170601l254d3b29udc688d02426ea247@mail.gmail.com>

On Wed, 2009-06-17 at 16:01 +0300, Pekka Enberg wrote:
> On Wed, Jun 17, 2009 at 3:52 PM, Catalin Marinas<catalin.marinas@arm.com> wrote:
> > Kmemleak allocates memory for pointer tracking and it tries to avoid
> > using GFP_ATOMIC if the caller doesn't require it. However other gfp
> > flags may be passed by the caller which aren't required by kmemleak.
> > This patch filters the gfp flags so that only GFP_KERNEL | GFP_ATOMIC
> > are used.
> >
> > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
> 
> Is this really safe? What if we're in a middle of a filesystem
> operation that uses GFP_NOFAIL and all of a sudden kmemleak allocation
> fails and causes a panic?

A kmemleak_panic() call only disables the kmemleak but doesn't stop the
kernel. The __GFP_NOFAIL allocation had already happened and the pointer
returned to the caller.

If we pass the __GFP_NOFAIL flag via the kmemleak's alloc, we get the
warning reported by Ingo (though it's not clear to me why this happens
as a kmemleak_object cache allocation is 192 bytes on a 32 bit machine).

Are there (common) situations where we expect kmemleak's alloc to fail
without __GFP_NOFAIL?

-- 
Catalin


  reply	other threads:[~2009-06-17 13:24 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200906162232.n5GMWRZe026963@imap1.linux-foundation.org>
     [not found] ` <20090616223649.719ea378.akpm@linux-foundation.org>
2009-06-17 11:18   ` [PATCH] pagemap: add page-types tool, fix build Ingo Molnar
2009-06-17 11:31     ` WARNING: at mm/page_alloc.c:1159 get_page_from_freelist+0x325/0x655() Ingo Molnar
2009-06-17 11:35       ` Ingo Molnar
2009-06-17 12:19         ` [PATCH] profile: Suppress warning about large allocations when profile=1 is specified Mel Gorman
2009-06-20 10:09           ` Heinz Diehl
2009-06-20 19:50             ` Mel Gorman
2009-06-20 21:48               ` Heinz Diehl
2009-06-22 11:31                 ` Mel Gorman
2009-06-22 13:50                   ` Heinz Diehl
2009-06-22 19:58                     ` Mel Gorman
2009-06-22 17:00                   ` Arnaldo Carvalho de Melo
2009-06-22 17:00                     ` Arnaldo Carvalho de Melo
2009-06-17 11:41       ` WARNING: at mm/page_alloc.c:1159 get_page_from_freelist+0x325/0x655() Mel Gorman
2009-06-17 12:11       ` Catalin Marinas
2009-06-17 12:28         ` Mel Gorman
2009-06-17 12:36           ` Catalin Marinas
2009-06-17 12:40             ` Mel Gorman
2009-06-17 12:52               ` [PATCH] kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations Catalin Marinas
2009-06-17 13:01                 ` Pekka Enberg
2009-06-17 13:23                   ` Catalin Marinas [this message]
2009-06-17 13:30                     ` Pekka Enberg
2009-06-17 15:36                       ` [PATCH] kmemleak: Rename kmemleak_panic to kmemleak_stop Catalin Marinas
2009-06-17 15:37                         ` Pekka Enberg
2009-06-17 17:14                         ` Daniel Walker
2009-06-17 17:27                           ` Catalin Marinas
2009-06-17 16:39       ` WARNING: at mm/page_alloc.c:1159 get_page_from_freelist+0x325/0x655() Linus Torvalds
2009-06-17 16:52         ` Ingo Molnar

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=1245245007.11889.42.camel@pc1117.cambridge.arm.com \
    --to=catalin.marinas@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=fengguang.wu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mel@csn.ul.ie \
    --cc=mingo@elte.hu \
    --cc=penberg@cs.helsinki.fi \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.