On Fri, 2011-11-04 at 21:27 +0300, Dan Carpenter wrote: > We returned a freed value instead of NULL on certain error paths. > Complicated error handling generally more error prone, so I've tried > to simplify it a little by removing some gotos. > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Looks like a reasonable cleanup. Thanks Dan! --nab > diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c > index 1c29679..937b4bc 100644 > --- a/drivers/infiniband/ulp/srpt/ib_srpt.c > +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c > @@ -680,21 +680,20 @@ static struct srpt_ioctx **srpt_alloc_ioctx_ring(struct srpt_device *sdev, > > ring = kmalloc(ring_size * sizeof(ring[0]), GFP_KERNEL); > if (!ring) > - goto out; > + return NULL; > for (i = 0; i < ring_size; ++i) { > ring[i] = srpt_alloc_ioctx(sdev, ioctx_size, dma_size, dir); > if (!ring[i]) > goto err; > ring[i]->index = i; > } > - goto out; > + return ring; > > err: > while (--i >= 0) > srpt_free_ioctx(sdev, ring[i], dma_size, dir); > kfree(ring); > -out: > - return ring; > + return NULL; > } > > /** -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html