From: Eli Cohen Date: Thu, 6 Oct 2011 16:33:12 +0000 (-0700) Subject: mlx4_core: Fix buddy->num_free allocation size X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a8312755db7ac800c83ec036058c3109892e0949;p=linux-beck.git 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: Eli Cohen [ Convert to kcalloc(). - Roland ] Signed-off-by: Roland Dreier --- diff --git a/drivers/net/mlx4/mr.c b/drivers/net/mlx4/mr.c index 9c188bdd7f4f..ab639cfef78e 100644 --- a/drivers/net/mlx4/mr.c +++ b/drivers/net/mlx4/mr.c @@ -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 *), 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); if (!buddy->bits || !buddy->num_free) goto err_out;