Re: [PATCH v3 2/2] net: pcs: rzn1-miic: Verify port number from dtb
From: Andrew Lunn
Date: Wed Sep 02 2026 - 14:59:26 EST
On Wed, Sep 02, 2026 at 11:37:36AM -0700, Kyle Hendry via B4 Relay wrote:
> From: Kyle Hendry <khendry@xxxxxxxxxxxxxxxxxxxx>
>
> Add check to make sure port number is in range before writing
> to dt_val array
>
> Signed-off-by: Kyle Hendry <khendry@xxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/net/pcs/pcs-rzn1-miic.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/pcs/pcs-rzn1-miic.c b/drivers/net/pcs/pcs-rzn1-miic.c
> index c50b65d064fa..3ee40eb9d545 100644
> --- a/drivers/net/pcs/pcs-rzn1-miic.c
> +++ b/drivers/net/pcs/pcs-rzn1-miic.c
> @@ -692,6 +692,12 @@ static int miic_parse_dt(struct miic *miic, u32 *mode_cfg)
> if (of_property_read_u32(conv, "reg", &port))
> continue;
>
> + if (port < miic->of_data->miic_port_start || port > miic->of_data->miic_port_max) {
> + dev_err(miic->dev, "Port number out of range: %d\n", port);
> + kfree(dt_val);
> + return -EINVAL;
> + }
> +
While reviewing this, i noticed:
/* Adjust for 0 based index */
dt_val[port + !miic->of_data->miic_port_start] = conf;
Is the ! correct?
Andrew