Re: [patch] aoe: use after free in aoedev_by_aoeaddr()

From: Dan Carpenter
Date: Mon Dec 10 2012 - 03:59:17 EST


On Fri, Dec 07, 2012 at 07:20:10AM -0600, Ed Cashin wrote:
> On Dec 7, 2012, at 1:19 AM, Dan Carpenter wrote:
>
> > We should return NULL on failure instead of returning a freed pointer.
> >
> > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> >
> > diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
> > index e66ccbf..98f2965 100644
> > --- a/drivers/block/aoe/aoedev.c
> > +++ b/drivers/block/aoe/aoedev.c
> > @@ -461,6 +461,7 @@ aoedev_by_aoeaddr(ulong maj, int min, int do_alloc)
> > d->targets = kcalloc(NTARGETS, sizeof(*d->targets), GFP_ATOMIC);
> > if (!d->targets) {
> > kfree(d);
> > + d = NULL;
> > goto out;
> > }
> > d->ntargets = NTARGETS;
>
>
> That looks good, thanks.
>
> If smatch found that, then I have to figure out what I'm doing wrong, because
> I ran sparse and smatch on the latest patch series until they were clean. :/

It's one of the checks which is only enabled with the --spammy
option.

regards,
dan carpenter

--
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/