[PATCH next] EDAC/versalnet: Fix off by one in handle_error()

Dan Carpenter posted 1 patch 2 months, 2 weeks ago
drivers/edac/versalnet_edac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH next] EDAC/versalnet: Fix off by one in handle_error()
Posted by Dan Carpenter 2 months, 2 weeks ago
The priv->mci[] array has NUM_CONTROLLERS so this > comparison needs to
be >= to prevent an out of bounds access.

Fixes: d5fe2fec6c40 ("EDAC: Add a driver for the AMD Versal NET DDR controller")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/edac/versalnet_edac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/edac/versalnet_edac.c b/drivers/edac/versalnet_edac.c
index 7c5db8bf0595..1ded4c3f0213 100644
--- a/drivers/edac/versalnet_edac.c
+++ b/drivers/edac/versalnet_edac.c
@@ -433,7 +433,7 @@ static void handle_error(struct mc_priv  *priv, struct ecc_status *stat,
 	phys_addr_t pfn;
 	int err;
 
-	if (WARN_ON_ONCE(ctl_num > NUM_CONTROLLERS))
+	if (WARN_ON_ONCE(ctl_num >= NUM_CONTROLLERS))
 		return;
 
 	mci = priv->mci[ctl_num];
-- 
2.51.0
Re: [PATCH next] EDAC/versalnet: Fix off by one in handle_error()
Posted by Borislav Petkov 2 months ago
On Sat, Sep 27, 2025 at 03:26:34PM +0300, Dan Carpenter wrote:
> The priv->mci[] array has NUM_CONTROLLERS so this > comparison needs to
> be >= to prevent an out of bounds access.
> 
> Fixes: d5fe2fec6c40 ("EDAC: Add a driver for the AMD Versal NET DDR controller")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/edac/versalnet_edac.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/edac/versalnet_edac.c b/drivers/edac/versalnet_edac.c
> index 7c5db8bf0595..1ded4c3f0213 100644
> --- a/drivers/edac/versalnet_edac.c
> +++ b/drivers/edac/versalnet_edac.c
> @@ -433,7 +433,7 @@ static void handle_error(struct mc_priv  *priv, struct ecc_status *stat,
>  	phys_addr_t pfn;
>  	int err;
>  
> -	if (WARN_ON_ONCE(ctl_num > NUM_CONTROLLERS))
> +	if (WARN_ON_ONCE(ctl_num >= NUM_CONTROLLERS))
>  		return;
>  
>  	mci = priv->mci[ctl_num];
> -- 

Applied, thanks.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette
Re: [PATCH next] EDAC/versalnet: Fix off by one in handle_error()
Posted by Yazen Ghannam 2 months, 1 week ago
On Sat, Sep 27, 2025 at 03:26:34PM +0300, Dan Carpenter wrote:
> The priv->mci[] array has NUM_CONTROLLERS so this > comparison needs to
> be >= to prevent an out of bounds access.
> 
> Fixes: d5fe2fec6c40 ("EDAC: Add a driver for the AMD Versal NET DDR controller")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---

Reviewed-by: Yazen Ghannam <yazen.ghannam@amd.com>

Thanks,
Yazen