From: Eli Cohen Date: Wed, 21 Sep 2011 13:31:17 +0000 (+0300) Subject: mlx4_core: Fix buddy->num_free allocation size X-Git-Tag: next-20110922~65^2^3 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2cdec9e81e6f280ab88391f902dc1f852b14813e;p=karo-tx-linux.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;