Skip to content

Commit

Permalink
mlx4_core: Remove kfree() in mlx4_mr_alloc() error flow
Browse files Browse the repository at this point in the history
mlx4_mr_alloc() doesn't actually allocate mr (it just initializes the
pointer that the caller passes in), so it shouldn't free it if an
error occurs.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
  • Loading branch information
Jack Morgenstein authored and Roland Dreier committed Jul 28, 2007
1 parent 4e8e6ee commit 0172e2e
Showing 1 changed file with 3 additions and 12 deletions.
15 changes: 3 additions & 12 deletions drivers/net/mlx4/mr.c
Original file line number Diff line number Diff line change
Expand Up @@ -255,10 +255,8 @@ int mlx4_mr_alloc(struct mlx4_dev *dev, u32 pd, u64 iova, u64 size, u32 access,
int err;

index = mlx4_bitmap_alloc(&priv->mr_table.mpt_bitmap);
if (index == -1) {
err = -ENOMEM;
goto err;
}
if (index == -1)
return -ENOMEM;

mr->iova = iova;
mr->size = size;
Expand All @@ -269,15 +267,8 @@ int mlx4_mr_alloc(struct mlx4_dev *dev, u32 pd, u64 iova, u64 size, u32 access,

err = mlx4_mtt_init(dev, npages, page_shift, &mr->mtt);
if (err)
goto err_index;

return 0;

err_index:
mlx4_bitmap_free(&priv->mr_table.mpt_bitmap, index);
mlx4_bitmap_free(&priv->mr_table.mpt_bitmap, index);

err:
kfree(mr);
return err;
}
EXPORT_SYMBOL_GPL(mlx4_mr_alloc);
Expand Down

0 comments on commit 0172e2e

Please sign in to comment.