[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250704184408.32227305@endymion>
Date: Fri, 4 Jul 2025 18:44:08 +0200
From: Jean Delvare <jdelvare@...e.de>
To: Andrew Jeffery <andrew@...econstruct.com.au>
Cc: linux-aspeed@...ts.ozlabs.org, Joel Stanley <joel@....id.au>, Henry
Martin <bsdhenrymartin@...il.com>, Patrick Rudolph
<patrick.rudolph@...ements.com>, Andrew Geissler <geissonator@...oo.com>,
Ninad Palsule <ninad@...ux.ibm.com>, Patrick Venture <venture@...gle.com>,
Robert Lippert <roblip@...il.com>, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 04/10] soc: aspeed: lpc-snoop: Constrain parameters
in channel paths
On Mon, 16 Jun 2025 22:43:41 +0930, Andrew Jeffery wrote:
> Ensure pointers and the channel index are valid before use.
>
> Signed-off-by: Andrew Jeffery <andrew@...econstruct.com.au>
> ---
> drivers/soc/aspeed/aspeed-lpc-snoop.c | 25 ++++++++++++++++---------
> 1 file changed, 16 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/soc/aspeed/aspeed-lpc-snoop.c b/drivers/soc/aspeed/aspeed-lpc-snoop.c
> index ca7536213e0986f737606a52996ffea620df2a7a..804c6ed9c4c671da73a6c66c1de41c59922c82dc 100644
> --- a/drivers/soc/aspeed/aspeed-lpc-snoop.c
> +++ b/drivers/soc/aspeed/aspeed-lpc-snoop.c
> @@ -25,7 +25,6 @@
>
> #define DEVICE_NAME "aspeed-lpc-snoop"
>
> -#define NUM_SNOOP_CHANNELS 2
> #define SNOOP_FIFO_SIZE 2048
>
> #define HICR5 0x80
> @@ -57,6 +56,12 @@ struct aspeed_lpc_snoop_model_data {
> unsigned int has_hicrb_ensnp;
> };
>
> +enum aspeed_lpc_snoop_index {
> + ASPEED_LPC_SNOOP_INDEX_0 = 0,
> + ASPEED_LPC_SNOOP_INDEX_1 = 1,
> + ASPEED_LPC_SNOOP_INDEX_MAX = ASPEED_LPC_SNOOP_INDEX_1,
> +};
I don't have a strong opinion on this (again, I'm neither the driver
maintainer nor the subsystem maintainer so my opinion has little
value), but IMHO the main value of introducing an enum here was to make
it possible to get rid of the default statement in the switch
constructs. With switch constructs being gone in patch 10/10 (soc:
aspeed: lpc-snoop: Lift channel config to const structs), the value of
this enum seems pretty low now. You could use NUM_SNOOP_CHANNELS
instead of ASPEED_LPC_SNOOP_INDEX_MAX + 1 and 0 and 1 instead of
ASPEED_LPC_SNOOP_INDEX_0 and ASPEED_LPC_SNOOP_INDEX_1, respectively,
and the code would work just the same, while being more simple, with no
downside that I can see.
--
Jean Delvare
SUSE L3 Support
Powered by blists - more mailing lists