net/mlx4_core: Adjust allocation type for buddy->bits
Subsystems (4)
PATCH 1/1 net/mlx4_core: Adjust allocation type for buddy->bits
In preparation for making the kmalloc family of allocators type aware, we need to make sure that the returned type from the allocation matches the type of the variable being assigned. (Before, the allocator would always return "void *", which can be implicitly cast to any pointer type.)
The assigned type is "unsigned long **", but the returned type will be "long **". These are the same size allocation (pointer size) but the types do not match. Adjust the allocation type to match the assignment.
---
Cc: Tariq Toukan <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: Paolo Abeni <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>
--- drivers/net/ethernet/mellanox/mlx4/mr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/ethernet/mellanox/mlx4/mr.c +1 -1
@@ -106,7 +106,7 @@ static int mlx4_buddy_init(struct mlx4_buddy *buddy, int max_order) buddy->max_order = max_order;spin_lock_init (&buddy->lock); - buddy->bits =kcalloc (buddy->max_order +1 ,sizeof (long *), + buddy->bits =kcalloc (buddy->max_order +1 ,sizeof (*buddy->bits),GFP_KERNEL ); buddy->num_free =kcalloc (buddy->max_order +1 ,sizeof (*buddy->num_free),GFP_KERNEL );
Signature · 1 line
2.34.1
Quoted 10 lines · Kees Cook
In preparation for making the kmalloc family of allocators type aware, we need to make sure that the returned type from the allocation matches the type of the variable being assigned. (Before, the allocator would always return "void *", which can be implicitly cast to any pointer type.)
The assigned type is "unsigned long **", but the returned type will be "long **". These are the same size allocation (pointer size) but the types do not match. Adjust the allocation type to match the assignment.
Signed-off-by Kees Cook <[email protected]>
Quoted 28 lines · Kees Cook
In preparation for making the kmalloc family of allocators type aware, we need to make sure that the returned type from the allocation matches the type of the variable being assigned. (Before, the allocator would always return "void *", which can be implicitly cast to any pointer type.)
The assigned type is "unsigned long **", but the returned type will be "long **". These are the same size allocation (pointer size) but the types do not match. Adjust the allocation type to match the assignment.
Signed-off-by Kees Cook <[email protected]>---
Cc: Tariq Toukan <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: Paolo Abeni <[email protected]>
Cc: <[email protected]>
Cc: <[email protected]>--- drivers/net/ethernet/mellanox/mlx4/mr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/net/ethernet/mellanox/mlx4/mr.c +0
-0
drivers/net/ethernet/mellanox/mlx4/mr.c static int mlx4_buddy_init(struct mlx4_buddy *buddy, int max_order) · line 112
Quoted 8 lines
drivers/net/ethernet/mellanox/mlx4/mr.c +1
-1@@ -106,7 +106,7 @@ static int mlx4_buddy_init(struct mlx4_buddy *buddy, int max_order) buddy->max_order = max_order;spin_lock_init (&buddy->lock); - buddy->bits =kcalloc (buddy->max_order +1 ,sizeof (long *), + buddy->bits =kcalloc (buddy->max_order +1 ,sizeof (*buddy->bits),GFP_KERNEL ); buddy->num_free =kcalloc (buddy->max_order +1 ,sizeof (*buddy->num_free),GFP_KERNEL );
Thanks.
This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <[email protected]>:
Hello:
This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <[email protected]>:
Quoted 10 lines · On Fri, 25 Apr 2025 23:07:58 -0700 you wrote:
In preparation for making the kmalloc family of allocators type aware, we need to make sure that the returned type from the allocation matches the type of the variable being assigned. (Before, the allocator would always return "void *", which can be implicitly cast to any pointer type.)
The assigned type is "unsigned long **", but the returned type will be "long **". These are the same size allocation (pointer size) but the types do not match. Adjust the allocation type to match the assignment.
[...]
Here is the summary with links:
- net/mlx4_core: Adjust allocation type for buddy->bits
https://git.kernel.org/netdev/net-next/c/01cbf838c775
You are awesome, thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html