Re: [PATCH] mm/sl[aou]b: make kfree() aware of error pointers

From: Theodore Ts'o
Date: Wed Sep 10 2014 - 09:57:09 EST


On Wed, Sep 10, 2014 at 09:36:30AM +0300, Dan Carpenter wrote:
> On Tue, Sep 09, 2014 at 10:11:38PM -0700, Andrew Morton wrote:
> > On Wed, 10 Sep 2014 07:05:40 +0200 (CEST) Jiri Kosina <jkosina@xxxxxxx> wrote:
> > This is the sort of error which a static checker could find. I wonder
> > if any of them do so.
>
> Yes. Ted asked me to add this to Smatch and that's how we found the
> problems in ext4. I'll push it out later this week. It won't find
> every single bug.
>
> We have fixed the 8 bugs that Smatch found.

The ironic thing is that I asked Dan to add the feature to smatch
because I found two such bugs in ext4, and I suspected there would be
more. Sure enough, it found four more such bugs, including two in a
recent commit where I had found the first two bugs --- and I had
missed the other two even though I was specifically looking for such
instances. Oops. :-)

Maybe we can add a debugging config option? I think having static
checkers plus some kmalloc failure testing should be sufficient to
prevent these sorts of problem from showing up.

It would seem to me that this is the sort of thing that a static
checker should find reliably; Coverity has found things that were more
complex than what this should require, I think. I don't know if they
would be willing to add something this kernel-specific, though. (I've
added Dave Jones to the thread since he's been working a lot with
Coverity; Dave, what do you think?)

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/