> 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





Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to