public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dm: dm-zoned: Adjust dmz_load_mapping() allocation type
@ 2025-04-26  6:17 Kees Cook
  2025-04-28 10:49 ` Mikulas Patocka
  0 siblings, 1 reply; 3+ messages in thread
From: Kees Cook @ 2025-04-26  6:17 UTC (permalink / raw)
  To: Alasdair Kergon
  Cc: Kees Cook, Mike Snitzer, Mikulas Patocka, dm-devel, 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 "struct dmz_mblock **" but the returned type will
be "struct dmz_mblk **". 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: Alasdair Kergon <agk@redhat.com>
Cc: Mike Snitzer <snitzer@kernel.org>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Cc: <dm-devel@lists.linux.dev>
---
 drivers/md/dm-zoned-metadata.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
index deff22ecccbb..8934ad20012c 100644
--- a/drivers/md/dm-zoned-metadata.c
+++ b/drivers/md/dm-zoned-metadata.c
@@ -1687,7 +1687,7 @@ static int dmz_load_mapping(struct dmz_metadata *zmd)
 
 	/* Metadata block array for the chunk mapping table */
 	zmd->map_mblk = kcalloc(zmd->nr_map_blocks,
-				sizeof(struct dmz_mblk *), GFP_KERNEL);
+				sizeof(*zmd->map_mblk), GFP_KERNEL);
 	if (!zmd->map_mblk)
 		return -ENOMEM;
 
-- 
2.34.1


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

* Re: [PATCH] dm: dm-zoned: Adjust dmz_load_mapping() allocation type
  2025-04-26  6:17 [PATCH] dm: dm-zoned: Adjust dmz_load_mapping() allocation type Kees Cook
@ 2025-04-28 10:49 ` Mikulas Patocka
  2026-02-05  4:08   ` Kees Cook
  0 siblings, 1 reply; 3+ messages in thread
From: Mikulas Patocka @ 2025-04-28 10:49 UTC (permalink / raw)
  To: Kees Cook
  Cc: Alasdair Kergon, Mike Snitzer, dm-devel, linux-kernel,
	linux-hardening

Hi

I accepted both patches.

Just nit-picking - I prefer type name as an argument to the sizeof 
operator rather than variable name - because when someone needs to find 
out where variables with a particular type are allocated, it can be easily 
done with grep if the sizeof operator contains the type name. So I changed 
your patches so that there are type names.

Mikulas



On Fri, 25 Apr 2025, 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 "struct dmz_mblock **" but the returned type will
> be "struct dmz_mblk **". 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: Alasdair Kergon <agk@redhat.com>
> Cc: Mike Snitzer <snitzer@kernel.org>
> Cc: Mikulas Patocka <mpatocka@redhat.com>
> Cc: <dm-devel@lists.linux.dev>
> ---
>  drivers/md/dm-zoned-metadata.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
> index deff22ecccbb..8934ad20012c 100644
> --- a/drivers/md/dm-zoned-metadata.c
> +++ b/drivers/md/dm-zoned-metadata.c
> @@ -1687,7 +1687,7 @@ static int dmz_load_mapping(struct dmz_metadata *zmd)
>  
>  	/* Metadata block array for the chunk mapping table */
>  	zmd->map_mblk = kcalloc(zmd->nr_map_blocks,
> -				sizeof(struct dmz_mblk *), GFP_KERNEL);
> +				sizeof(*zmd->map_mblk), GFP_KERNEL);
>  	if (!zmd->map_mblk)
>  		return -ENOMEM;
>  
> -- 
> 2.34.1
> 


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

* Re: [PATCH] dm: dm-zoned: Adjust dmz_load_mapping() allocation type
  2025-04-28 10:49 ` Mikulas Patocka
@ 2026-02-05  4:08   ` Kees Cook
  0 siblings, 0 replies; 3+ messages in thread
From: Kees Cook @ 2026-02-05  4:08 UTC (permalink / raw)
  To: Mikulas Patocka
  Cc: Alasdair Kergon, Mike Snitzer, dm-devel, linux-kernel,
	linux-hardening

On Mon, Apr 28, 2025 at 12:49:53PM +0200, Mikulas Patocka wrote:
> I accepted both patches.
> 
> Just nit-picking - I prefer type name as an argument to the sizeof 
> operator rather than variable name - because when someone needs to find 
> out where variables with a particular type are allocated, it can be easily 
> done with grep if the sizeof operator contains the type name. So I changed 
> your patches so that there are type names.

Thanks for the fix-ups! I wanted to check on these patches, though,
since I still don't see them in -next and the merge window is expected
to open next week.

Thanks!

-Kees

-- 
Kees Cook

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

end of thread, other threads:[~2026-02-05  4:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-26  6:17 [PATCH] dm: dm-zoned: Adjust dmz_load_mapping() allocation type Kees Cook
2025-04-28 10:49 ` Mikulas Patocka
2026-02-05  4:08   ` Kees Cook

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