public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Christoph Lameter <clameter@sgi.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	Srinivasa Ds <srinivasa@in.ibm.com>,
	linux-kernel@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Srivatsa Vaddagiri <vatsa@in.ibm.com>,
	Dinakar Guniguntala <dino@in.ibm.com>,
	pj@sgi.com, simon.derr@bull.net, clameter@cthulhu.engr.sgi.com,
	rientjes@google.com
Subject: Re: [RFC] [PATCH] cpuset operations causes Badness at mm/slab.c:777 warning
Date: Fri, 1 Jun 2007 16:02:41 -0700	[thread overview]
Message-ID: <20070601160241.33b304bf.akpm@linux-foundation.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0706011534170.9497@schroedinger.engr.sgi.com>

On Fri, 1 Jun 2007 15:41:48 -0700 (PDT)
Christoph Lameter <clameter@sgi.com> wrote:

> On Fri, 1 Jun 2007, Andrew Morton wrote:
> 
> > > I should make SLUB put poisoning values in unused areas of a kmalloced 
> > > object?
> > 
> > hm, I hadn't thought of it that way actually.  I was thinking it was
> > specific to kmalloc(0) but as you point out, the situation is
> > generalisable.
> 
> Right it could catch a lot of other bugs as well.
> 
> > Yes, if someone does kmalloc(42) and we satisfy the allocation from the
> > size-64 slab, we should poison and then check the allegedly-unused 22
> > bytes.
> > 
> > Please ;)
> > 
> > (vaguely stunned that we didn't think of doing this years ago).
> 
> Well there are architectural problems. We determine the power of two slab 
> at compile time. The object size information is currently not available in 
> the binary :=).
>  
> > It'll be a large patch, I expect?
> 
> Ummm... Yes. We need to switch off the compile time power of two slab 
> calculation. Then I need to have some way of storing the object size in 
> the metainformation of each object. Changes a lot of function calls.

Oh well.  Don't lose any sleep over it ;)

<loses sleep>

We could store the size of the allocation in the allocated object?  Just
add four bytes to the user's request, then pick the appropriate cache based
on that, then put the user's `size' at the tail of the resulting allocation?

So a kmalloc(62) would get upped to 66, so we allocate from size-128
and put the number 62 at bytes 124-127 and we poison bytes 62-123?

  parent reply	other threads:[~2007-06-01 23:03 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-01  7:27 [RFC] [PATCH] cpuset operations causes Badness at mm/slab.c:777 warning Srinivasa Ds
2007-06-01 10:50 ` Srinivasa Ds
2007-06-01 18:13   ` Christoph Lameter
2007-06-01 19:11     ` Paul Jackson
2007-06-01 19:18       ` Christoph Lameter
2007-06-01 19:47         ` Paul Jackson
2007-06-01 19:51           ` Christoph Lameter
2007-06-01 20:02             ` Paul Jackson
2007-06-01 20:06               ` Christoph Lameter
2007-06-01 20:19                 ` Paul Jackson
2007-06-01 20:43                   ` Christoph Lameter
2007-06-01 20:54                     ` Paul Jackson
2007-06-01 20:30   ` Jeremy Fitzhardinge
2007-06-01 20:44     ` Paul Jackson
2007-06-01 20:47     ` Christoph Lameter
2007-06-01 20:56       ` Jeremy Fitzhardinge
2007-06-01 20:59       ` Andrew Morton
2007-06-01 21:45         ` Christoph Lameter
2007-06-01 22:16           ` Andrew Morton
2007-06-01 22:20             ` Christoph Lameter
2007-06-01 22:33               ` Andrew Morton
2007-06-01 22:41                 ` Christoph Lameter
2007-06-01 23:00                   ` Linus Torvalds
2007-06-01 23:29                     ` Christoph Lameter
2007-06-01 23:41                       ` Linus Torvalds
2007-06-01 23:46                         ` Christoph Lameter
2007-06-01 23:57                           ` Linus Torvalds
2007-06-02  0:12                             ` Christoph Lameter
2007-06-02  0:16                             ` Andrew Morton
2007-06-02  0:26                               ` Christoph Lameter
2007-06-02  1:04                                 ` Linus Torvalds
2007-06-02  0:46                     ` Jeremy Fitzhardinge
2007-06-02  1:05                     ` Valdis.Kletnieks
2007-06-02  1:24                       ` Christoph Lameter
2007-06-01 23:02                   ` Andrew Morton [this message]
2007-06-01 23:16                     ` Christoph Lameter
2007-06-01 23:21                       ` Christoph Lameter
2007-06-01 23:36                       ` Linus Torvalds
2007-06-01 23:42                         ` Christoph Lameter
2007-06-01 23:25                     ` Linus Torvalds
2007-06-02  0:41                   ` Jeremy Fitzhardinge
2007-06-02  0:43             ` Jeremy Fitzhardinge
2007-06-02  0:51               ` Andrew Morton
2007-06-02  0:59                 ` Jeremy Fitzhardinge

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=20070601160241.33b304bf.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=clameter@cthulhu.engr.sgi.com \
    --cc=clameter@sgi.com \
    --cc=dino@in.ibm.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pj@sgi.com \
    --cc=rientjes@google.com \
    --cc=simon.derr@bull.net \
    --cc=srinivasa@in.ibm.com \
    --cc=torvalds@linux-foundation.org \
    --cc=vatsa@in.ibm.com \
    /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