Re: [PATCH] net: mdio: fix -Wvoid-pointer-to-enum-cast warning

From: Andrew Lunn
Date: Tue Aug 15 2023 - 16:49:12 EST


On Tue, Aug 15, 2023 at 08:35:59PM +0000, Justin Stitt wrote:
> When building with clang 18 I see the following warning:
> | drivers/net/mdio/mdio-xgene.c:338:13: warning: cast to smaller integer
> | type 'enum xgene_mdio_id' from 'const void *' [-Wvoid-pointer-to-enum-cast]
> | 338 | mdio_id = (enum xgene_mdio_id)of_id->data;
>
> This is due to the fact that `of_id->data` is a void* while `enum
> xgene_mdio_id` has the size of an int. This leads to truncation and
> possible data loss.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1910
> Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> Signed-off-by: Justin Stitt <justinstitt@xxxxxxxxxx>

Reviewed-by: Andrew Lunn <andrew@xxxxxxx>

Andrew