[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1216954773.15519.261.camel@calx>
Date: Thu, 24 Jul 2008 21:59:33 -0500
From: Matt Mackall <mpm@...enic.com>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: Pekka Enberg <penberg@...helsinki.fi>,
Patrick McHardy <kaber@...sh.net>, Ingo Molnar <mingo@...e.hu>,
David Miller <davem@...emloft.net>, w@....eu,
davidn@...idnewall.com, torvalds@...ux-foundation.org,
akpm@...ux-foundation.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, stefanr@...6.in-berlin.de,
rjw@...k.pl, ilpo.jarvinen@...sinki.fi,
Dave Jones <davej@...hat.com>,
Christoph Lameter <cl@...ux-foundation.org>
Subject: Re: [regression] nf_iterate(), BUG: unable to handle kernel NULL
pointer dereference
On Fri, 2008-07-25 at 09:39 +0800, Herbert Xu wrote:
> On Thu, Jul 24, 2008 at 12:47:19PM -0500, Matt Mackall wrote:
> >
> > Let's try this again: did you know that ksize could fail depending on
> > kernel configuration? Most of us would answer no. That suggests the API
> > is bad. This ranks 12 on Rusty's spectrum of user-friendly APIs:
>
> I think you misunderstood my argument. I never suggested changing
> the existing ksize interface to return an error onto unsuspecting
> users. I suggested creating a new interface that is explicitly
> designed to return an error if the underlying implementation
> is unable to support this.
I think that could probably be made to work. Perhaps something like:
size_t kmalloc_extra(void *); /* how many extra bytes in this kmalloc?
*/
Which, if it didn't work, could return a nice safe 0. We could argue
about signedness a bit, but I think this would always be safe.
This will also work with all our current kmalloc implementations. The
trouble was calling ksize() on kmem_cache_alloc objects, which happens
to work with SLAB and SLOB.
--
Mathematics is the supreme nostalgia of our time.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists