> On Jun 26, 2015, at 3:09 AM, Maninder Singh <[email protected]> wrote: > > kfree(NULL) is safe and this check is probably not required > > Signed-off-by: Maninder Singh <[email protected]> > Reviewed-by: Akhilesh Kumar <[email protected]> > --- > 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 <[email protected]>
GPG Key ID: 0E572FDD
signature.asc
Description: Message signed with OpenPGP using GPGMail
