IB/mthca: Fix buddy->num_free allocation size
The num_free field of mthca_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. This is the same bug just fixed in mlx4 by Eli Cohen <eli@mellanox.co.il>. Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
		
							parent
							
								
									f470f8d4e7
								
							
						
					
					
						commit
						e4221314a5
					
				| @ -146,7 +146,7 @@ static int mthca_buddy_init(struct mthca_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; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user