[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <dc1191b4-1010-260b-b7cb-dc748a05e571@redhat.com>
Date: Mon, 28 Apr 2025 12:49:53 +0200 (CEST)
From: Mikulas Patocka <mpatocka@...hat.com>
To: Kees Cook <kees@...nel.org>
cc: Alasdair Kergon <agk@...hat.com>, Mike Snitzer <snitzer@...nel.org>,
dm-devel@...ts.linux.dev, linux-kernel@...r.kernel.org,
linux-hardening@...r.kernel.org
Subject: Re: [PATCH] dm: dm-zoned: Adjust dmz_load_mapping() allocation
type
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@...nel.org>
> ---
> Cc: Alasdair Kergon <agk@...hat.com>
> Cc: Mike Snitzer <snitzer@...nel.org>
> Cc: Mikulas Patocka <mpatocka@...hat.com>
> Cc: <dm-devel@...ts.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
>
Powered by blists - more mailing lists