RE: [PATCH] EDAC: fix a limit calculation in calculate_dimm_size()

From: Zhuo, Qiuxu

Date: Fri Dec 05 2025 - 10:36:15 EST


Hi Dan,

> From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Sent: Friday, December 5, 2025 7:10 PM
> To: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>; Luck, Tony <tony.luck@xxxxxxxxx>;
> Aristeu Rozanski <arozansk@xxxxxxxxxx>; linux-edac@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; kernel-janitors@xxxxxxxxxxxxxxx
> Subject: [PATCH] EDAC: fix a limit calculation in calculate_dimm_size()

Please use the subject style as in most other EDAC files:

EDAC/i5400: Fix a limit calculation in calculate_dimm_size()

>
> The snprintf() can't really overflow because we're writing a max of 42 bytes to
> a PAGE_SIZE buffer. But my static checker complains because the limit
> calculation doesn't take the first 11 bytes into consideration.
> Fix this for the sake of correctness even though it doesn't affect runtime.
>
> Fixes: 68d086f89b80 ("i5400_edac: improve debug messages to better
> represent the filled memory")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> ---
> drivers/edac/i5400_edac.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/edac/i5400_edac.c b/drivers/edac/i5400_edac.c index
> b5cf25905b05..81c93ba957a0 100644
> --- a/drivers/edac/i5400_edac.c
> +++ b/drivers/edac/i5400_edac.c
> @@ -1033,6 +1033,7 @@ static void calculate_dimm_size(struct i5400_pvt
> *pvt)
>
> n = snprintf(p, space, " ");
> p += n;
> + space -= n;
> for (branch = 0; branch < MAX_BRANCHES; branch++) {
> n = snprintf(p, space, " branch %d | ", branch);
> p += n;
> --
> 2.51.0
>

At line 1029 in the original i5400_edac.c file, there is an incorrect extra "space -= n;" code line.
Please also remove it.

https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/edac/i5400_edac.c#n1029

If with the above extra fix, your subject may need to update as follows:

EDAC/i5400: Fix limit calculations in calculate_dimm_size()

Other than that,

Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@xxxxxxxxx>