public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] IB/mthca: Adjust buddy->bits allocation type
@ 2025-04-26  6:12 Kees Cook
  2025-04-27 11:51 ` Leon Romanovsky
  0 siblings, 1 reply; 2+ messages in thread
From: Kees Cook @ 2025-04-26  6:12 UTC (permalink / raw)
  To: Jason Gunthorpe
  Cc: Kees Cook, Leon Romanovsky, linux-rdma, linux-kernel,
	linux-hardening

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 allocation size (pointer size), but the
types do not match. Adjust the allocation type to match the assignment.

Signed-off-by: Kees Cook <kees@kernel.org>
---
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: <linux-rdma@vger.kernel.org>
---
 drivers/infiniband/hw/mthca/mthca_mr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/mthca/mthca_mr.c b/drivers/infiniband/hw/mthca/mthca_mr.c
index 192f83fd7c8a..dacb8ceeebe0 100644
--- a/drivers/infiniband/hw/mthca/mthca_mr.c
+++ b/drivers/infiniband/hw/mthca/mthca_mr.c
@@ -144,7 +144,7 @@ static int mthca_buddy_init(struct mthca_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);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] IB/mthca: Adjust buddy->bits allocation type
  2025-04-26  6:12 [PATCH] IB/mthca: Adjust buddy->bits allocation type Kees Cook
@ 2025-04-27 11:51 ` Leon Romanovsky
  0 siblings, 0 replies; 2+ messages in thread
From: Leon Romanovsky @ 2025-04-27 11:51 UTC (permalink / raw)
  To: Jason Gunthorpe, Kees Cook; +Cc: linux-rdma, linux-kernel, linux-hardening


On Fri, 25 Apr 2025 23:12:09 -0700, Kees Cook 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 allocation size (pointer size), but the
> types do not match. Adjust the allocation type to match the assignment.
> 
> [...]

Applied, thanks!

[1/1] IB/mthca: Adjust buddy->bits allocation type
      https://git.kernel.org/rdma/rdma/c/7c04bc97171780

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-04-27 11:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-26  6:12 [PATCH] IB/mthca: Adjust buddy->bits allocation type Kees Cook
2025-04-27 11:51 ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox