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>
next prev 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