linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Christoph Lameter <clameter@sgi.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	akpm@linux-foundation.org
Subject: Re: [RFC 0/4] CONFIG_STABLE to switch off development checks
Date: Sat, 02 Jun 2007 10:23:10 -0500	[thread overview]
Message-ID: <1180797790.18535.6.camel@kleikamp.austin.ibm.com> (raw)
In-Reply-To: <46606C71.9010008@goop.org>

On Fri, 2007-06-01 at 11:58 -0700, Jeremy Fitzhardinge wrote:
> Christoph Lameter wrote:
> > Hmmm... We got there because SLUB initially return NULL for kmalloc(0). 
> > Rationale: The user did not request any memory so we wont give him 
> > any.
> >
> > That (to my surprise) caused some strange behavior of code and so we then 
> > decided to keep SLAB behavior and return the smallest available object 
> > size and put a warning in there. At some later point we plan to switch
> > to returning NULL for kmalloc(0).
> >   
> 
> Unfortunately, returning NULL is indistinguishable from ENOMEM, so the
> caller would have to check to see how much it asked for before deciding
> to really fail, which doesn't help things much.
> 
> Or does it (should it) return ERRPTR(-ENOMEM)?  Bit of a major API
> change if not.

I'm on Christoph's side here.  I don't think it makes sense for any code
to ask to allocate zero bytes of memory and expect valid memory to be
returned.

Would a compromise be to return a pointer to some known invalid region?
This way the kmalloc(0) call would appear successful to the caller, but
any access to the memory would result in an exception.

Just my 2 cents,
Shaggy
-- 
David Kleikamp
IBM Linux Technology Center

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2007-06-02 14:20 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31  0:20 clameter
2007-05-31  0:20 ` [RFC 1/4] CONFIG_STABLE: Define it clameter
2007-05-31  0:35   ` young dave
2007-05-31  0:49     ` Christoph Lameter
2007-06-01 18:08       ` Dave Jones
2007-06-01 18:25         ` Christoph Lameter
2007-05-31  8:54   ` Stefan Richter
2007-05-31  9:03     ` David Miller, Stefan Richter
2007-05-31  9:03     ` Stefan Richter
2007-05-31 21:11   ` Andrew Morton
2007-05-31 21:14     ` Christoph Lameter
2007-05-31 21:30     ` Sam Ravnborg
2007-06-01 18:02       ` Dave Jones
2007-06-01 20:22         ` Sam Ravnborg
2007-06-01 20:30           ` Dave Jones
2007-06-01 20:55             ` Sam Ravnborg
2007-06-01 20:25     ` Sam Ravnborg
2007-07-20 10:41   ` Satyam Sharma
2007-07-20 11:09     ` Chris Snook
2007-07-20 11:27       ` Satyam Sharma
2007-07-20 11:34         ` Chris Snook
2007-07-20 11:40           ` Satyam Sharma
2007-07-20 11:50             ` Chris Snook
2007-07-20 16:48               ` Stefan Richter
2007-07-20 16:28     ` Stefan Richter
2007-07-20 16:36       ` Stefan Richter
2007-07-20 19:09         ` Chuck Ebbert
2007-05-31  0:20 ` [RFC 2/4] CONFIG_STABLE: Switch off kmalloc(0) tests in slab allocators clameter
2007-05-31 19:51   ` Zach Brown
2007-05-31 22:37     ` Andi Kleen
2007-05-31  0:20 ` [RFC 3/4] CONFIG_STABLE: Switch off SLUB banner clameter
2007-05-31  0:20 ` [RFC 4/4] CONFIG_STABLE: SLUB: Prefer object corruption over failure clameter
2007-06-01 14:55 ` [RFC 0/4] CONFIG_STABLE to switch off development checks Jeremy Fitzhardinge
2007-06-01 18:38   ` Christoph Lameter
2007-06-01 18:58     ` Jeremy Fitzhardinge
2007-06-01 20:59       ` Christoph Lameter
2007-06-01 21:24         ` Jeremy Fitzhardinge
2007-06-02 15:23       ` Dave Kleikamp [this message]
2007-06-02 16:28         ` Jeremy Fitzhardinge
2007-06-04  1:03           ` Dave Kleikamp
     [not found] <fa.UBCbBXgIW93M6j2F+d+umQ5+v9I@ifi.uio.no>
     [not found] ` <fa.iaekQW/Par/E6eIpnL0NjEdCUxc@ifi.uio.no>
     [not found]   ` <fa.2BlkzuhauAATrsG1MYhPMeWMhPM@ifi.uio.no>
     [not found]     ` <fa.o9WA1K75HxwNnBEQDyoQMfWVpiQ@ifi.uio.no>
     [not found]       ` <fa.wiSgrIhkRNkkC7Wh6Bt3BY4z7BM@ifi.uio.no>
2007-06-05  0:38         ` Robert Hancock

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=1180797790.18535.6.camel@kleikamp.austin.ibm.com \
    --to=shaggy@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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