Message ID | 1435302547-40904-1-git-send-email-maninder1.s@samsung.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
> On Jun 26, 2015, at 3:09 AM, Maninder Singh <maninder1.s@samsung.com> wrote: > > kfree(NULL) is safe and this check is probably not required > > Signed-off-by: Maninder Singh <maninder1.s@samsung.com> > Reviewed-by: Akhilesh Kumar <akhilesh.k@samsung.com> > --- > drivers/infiniband/hw/mlx4/main.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c > index 067a691..4e60b39 100644 > --- a/drivers/infiniband/hw/mlx4/main.c > +++ b/drivers/infiniband/hw/mlx4/main.c > @@ -2676,10 +2676,8 @@ static void do_slave_init(struct mlx4_ib_dev *ibdev, int slave, int do_init) > dm[i] = kmalloc(sizeof (struct mlx4_ib_demux_work), GFP_ATOMIC); > if (!dm[i]) { > pr_err("failed to allocate memory for tunneling qp update work struct\n"); > - for (i = 0; i < dev->caps.num_ports; i++) { > - if (dm[i]) > - kfree(dm[i]); > - } > + for (i = 0; i < dev->caps.num_ports; i++) > + kfree(dm[i]); > goto out; > } > } > -- > 1.7.9.5 > If you are going to change this, you might as well make it 100% correct: i—-; while (i >= 0) kfree(dm[i]); Then you don’t have to worry about whether kfree works on NULL, every item you free will be guaranteed to be non-NULL. — Doug Ledford <dledford@redhat.com> GPG Key ID: 0E572FDD
This is correct as is.
Acked-by: Christoph Lameter <cl@linux.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 067a691..4e60b39 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@ -2676,10 +2676,8 @@ static void do_slave_init(struct mlx4_ib_dev *ibdev, int slave, int do_init) dm[i] = kmalloc(sizeof (struct mlx4_ib_demux_work), GFP_ATOMIC); if (!dm[i]) { pr_err("failed to allocate memory for tunneling qp update work struct\n"); - for (i = 0; i < dev->caps.num_ports; i++) { - if (dm[i]) - kfree(dm[i]); - } + for (i = 0; i < dev->caps.num_ports; i++) + kfree(dm[i]); goto out; } }