Thread (182 messages) 182 messages, 27 authors, 2008-08-01

Re: [regression] nf_iterate(), BUG: unable to handle kernel NULL pointer dereference

From: Matt Mackall <hidden>
Date: 2008-07-24 17:52:00
Also in: lkml

On Thu, 2008-07-24 at 22:37 +0800, Herbert Xu wrote:
On Thu, Jul 24, 2008 at 08:11:49AM -0500, Matt Mackall wrote:
quoted
You don't honestly expect people to correctly code to such a standard,
do you? People will assume that ksize never fails, they will be wrong,
and computers will die.
If we follow this argument then most of our interfaces would be
broken.
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:

http://ozlabs.org/~rusty/ols-2003-keynote/img51.html
quoted
quoted
 You're taking
away an entire interface just because an underlying implementation
that's used by a very small proportion of users doesn't do the
right thing.
Umm, no. There were very few users to being with, so it was actually a
fairly large proportion. And that suggested the interface was a bad
idea.
Huh? I'm talking about users of the kernel.  A very small proportion
of those use SLOB.
Ahh. I see what you're saying. You may be right about that, or you may
be wrong: I don't know which of the millions of mass market embedded
Linux devices out there are using it.

And of course I argue that SLOB did do the right thing, which was only
allowing ksize on kmalloced objects. It's an accident of implementation
that kmalloc and kmem_cache_alloc use the same underlying allocator. It
has not been true at all points in the past, it's not true for some
users in the present, and it may not be true for most users in the
future. Thus, it's a bad idea to try to use ksize on something that
wasn't kmalloced.

If you have an argument for reintroducing ksize based on an actual use
case, let's please move on to (or back to) it so that we can have some
substance to this discussion.

-- 
Mathematics is the supreme nostalgia of our time.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help