Commit a8312755 authored by Eli Cohen's avatar Eli Cohen Committed by Roland Dreier

mlx4_core: Fix buddy->num_free allocation size

The num_free field of mlx4_buddy has a type of array of unsigned int
while it was allocated as an array of pointers.  On 64-bit platforms
this allocates twice more than required.  Fix this by allocating the
correct size for the type.
Signed-off-by: default avatarEli Cohen <eli@mellanox.co.il>

[ Convert to kcalloc().  - Roland ]
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent a8dc0dff
...@@ -139,7 +139,7 @@ static int mlx4_buddy_init(struct mlx4_buddy *buddy, int max_order) ...@@ -139,7 +139,7 @@ static int mlx4_buddy_init(struct mlx4_buddy *buddy, int max_order)
buddy->bits = kzalloc((buddy->max_order + 1) * sizeof (long *), buddy->bits = kzalloc((buddy->max_order + 1) * sizeof (long *),
GFP_KERNEL); GFP_KERNEL);
buddy->num_free = kzalloc((buddy->max_order + 1) * sizeof (int *), buddy->num_free = kcalloc((buddy->max_order + 1), sizeof *buddy->num_free,
GFP_KERNEL); GFP_KERNEL);
if (!buddy->bits || !buddy->num_free) if (!buddy->bits || !buddy->num_free)
goto err_out; goto err_out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment