* [PATCH] i2c: amd-asf: Validate firmware-reported length @ 2026-06-12 9:35 Paritosh Potukuchi 2026-06-12 10:18 ` Paritosh Potukuchi 0 siblings, 1 reply; 5+ messages in thread From: Paritosh Potukuchi @ 2026-06-12 9:35 UTC (permalink / raw) To: shyam-sundar.s-k, andi.shyti; +Cc: linux-i2c, linux-kernel, Paritosh Potukuchi The firmware may sometimes return a length greater than the allocated buffer size, which can lead to out-of-bounds access and a kernel panic. Currently, the driver does not validate the length read from firmware. Add a check to ensure the firmware-reported length stays within the bounds of the data buffer. Signed-off-by: Paritosh Potukuchi <paritosh.potukuchi@amd.com> --- drivers/i2c/busses/i2c-amd-asf-plat.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/i2c/busses/i2c-amd-asf-plat.c b/drivers/i2c/busses/i2c-amd-asf-plat.c index ca45f0f23321..3d355e880d54 100644 --- a/drivers/i2c/busses/i2c-amd-asf-plat.c +++ b/drivers/i2c/busses/i2c-amd-asf-plat.c @@ -90,6 +90,9 @@ static void amd_asf_process_target(struct work_struct *work) outb_p(reg, ASFDATABNKSEL); cmd = inb_p(ASFINDEX); len = inb_p(ASFDATARWPTR); + if (len > ASF_BLOCK_MAX_BYTES) + return; + for (idx = 0; idx < len; idx++) data[idx] = inb_p(ASFINDEX); -- 2.43.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] i2c: amd-asf: Validate firmware-reported length 2026-06-12 9:35 [PATCH] i2c: amd-asf: Validate firmware-reported length Paritosh Potukuchi @ 2026-06-12 10:18 ` Paritosh Potukuchi 2026-06-17 10:20 ` Andi Shyti 2026-06-17 23:38 ` Andi Shyti 0 siblings, 2 replies; 5+ messages in thread From: Paritosh Potukuchi @ 2026-06-12 10:18 UTC (permalink / raw) To: shyam-sundar.s-k, andi.shyti; +Cc: linux-i2c, linux-kernel, Paritosh Potukuchi The firmware may sometimes return a length greater than the allocated buffer size, which can lead to out-of-bounds access and a kernel panic. Currently, the driver does not validate the length read from firmware. Add a check to ensure the firmware-reported length stays within the bounds of the data buffer. Fix indentation issues reported by checkpatch. Signed-off-by: Paritosh Potukuchi <paritosh.potukuchi@amd.com> --- drivers/i2c/busses/i2c-amd-asf-plat.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/i2c/busses/i2c-amd-asf-plat.c b/drivers/i2c/busses/i2c-amd-asf-plat.c index ca45f0f23321..e1699da838c2 100644 --- a/drivers/i2c/busses/i2c-amd-asf-plat.c +++ b/drivers/i2c/busses/i2c-amd-asf-plat.c @@ -90,6 +90,9 @@ static void amd_asf_process_target(struct work_struct *work) outb_p(reg, ASFDATABNKSEL); cmd = inb_p(ASFINDEX); len = inb_p(ASFDATARWPTR); + if (len > ASF_BLOCK_MAX_BYTES) + return; + for (idx = 0; idx < len; idx++) data[idx] = inb_p(ASFINDEX); -- 2.43.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] i2c: amd-asf: Validate firmware-reported length 2026-06-12 10:18 ` Paritosh Potukuchi @ 2026-06-17 10:20 ` Andi Shyti 2026-06-17 11:06 ` Shyam Sundar S K 2026-06-17 23:38 ` Andi Shyti 1 sibling, 1 reply; 5+ messages in thread From: Andi Shyti @ 2026-06-17 10:20 UTC (permalink / raw) To: Paritosh Potukuchi Cc: shyam-sundar.s-k, linux-i2c, linux-kernel, Paritosh Potukuchi Hi Paritosh, On Fri, Jun 12, 2026 at 10:18:15AM +0000, Paritosh Potukuchi wrote: > The firmware may sometimes return a length greater than the > allocated buffer size, which can lead to out-of-bounds access > and a kernel panic. How often does it happen? Should it be considered a fix? Shyam, any comments on this? > Currently, the driver does not validate the length read from > firmware. > > Add a check to ensure the firmware-reported length stays within > the bounds of the data buffer. > > Fix indentation issues reported by checkpatch. I'm going to remove this comment here as I'm going to take only this patch and it's a meaningless information to leave in the log history. > Signed-off-by: Paritosh Potukuchi <paritosh.potukuchi@amd.com> > --- > drivers/i2c/busses/i2c-amd-asf-plat.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/i2c/busses/i2c-amd-asf-plat.c b/drivers/i2c/busses/i2c-amd-asf-plat.c > index ca45f0f23321..e1699da838c2 100644 > --- a/drivers/i2c/busses/i2c-amd-asf-plat.c > +++ b/drivers/i2c/busses/i2c-amd-asf-plat.c > @@ -90,6 +90,9 @@ static void amd_asf_process_target(struct work_struct *work) > outb_p(reg, ASFDATABNKSEL); > cmd = inb_p(ASFINDEX); > len = inb_p(ASFDATARWPTR); > + if (len > ASF_BLOCK_MAX_BYTES) > + return; > + Your patch makes sense to me. I'd just like a blank line before the 'if' statement. No need to resend it; I'll add it while applying the patch unless you disagree. Besides that, the patch is not properly formatted. It is missing: 1. Versioning: this should have been "[PATCH v2] ...". 2. Changelog: for a single patch, it should be added below the '---' line, after your Signed-off-by. You added "Fix indentation issues..." as a sort of changelog, but it is in the wrong place and it is not clear that it is a changelog. 3. Please don't send a new version as a reply to the previous one. From a maintainer's point of view, that makes it more difficult to track and apply. That said, I believe this is your first patch, and that's perfectly fine. Welcome to the community :-) Unless there are further comments, I'll apply your patch to i2c/i2c-for-7.2. Thanks, Andi ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] i2c: amd-asf: Validate firmware-reported length 2026-06-17 10:20 ` Andi Shyti @ 2026-06-17 11:06 ` Shyam Sundar S K 0 siblings, 0 replies; 5+ messages in thread From: Shyam Sundar S K @ 2026-06-17 11:06 UTC (permalink / raw) To: Andi Shyti, Paritosh Potukuchi Cc: linux-i2c, linux-kernel, Paritosh Potukuchi On 6/17/2026 15:50, Andi Shyti wrote: > Hi Paritosh, > > On Fri, Jun 12, 2026 at 10:18:15AM +0000, Paritosh Potukuchi wrote: >> The firmware may sometimes return a length greater than the >> allocated buffer size, which can lead to out-of-bounds access >> and a kernel panic. > > How often does it happen? Should it be considered a fix? > > Shyam, any comments on this? Looks good to me. Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> Thanks, Shyam > >> Currently, the driver does not validate the length read from >> firmware. >> >> Add a check to ensure the firmware-reported length stays within >> the bounds of the data buffer. >> >> Fix indentation issues reported by checkpatch. > > I'm going to remove this comment here as I'm going to take only > this patch and it's a meaningless information to leave in the log > history. > >> Signed-off-by: Paritosh Potukuchi <paritosh.potukuchi@amd.com> >> --- >> drivers/i2c/busses/i2c-amd-asf-plat.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/i2c/busses/i2c-amd-asf-plat.c b/drivers/i2c/busses/i2c-amd-asf-plat.c >> index ca45f0f23321..e1699da838c2 100644 >> --- a/drivers/i2c/busses/i2c-amd-asf-plat.c >> +++ b/drivers/i2c/busses/i2c-amd-asf-plat.c >> @@ -90,6 +90,9 @@ static void amd_asf_process_target(struct work_struct *work) >> outb_p(reg, ASFDATABNKSEL); >> cmd = inb_p(ASFINDEX); >> len = inb_p(ASFDATARWPTR); >> + if (len > ASF_BLOCK_MAX_BYTES) >> + return; >> + > > Your patch makes sense to me. I'd just like a blank line before > the 'if' statement. No need to resend it; I'll add it while > applying the patch unless you disagree. > > Besides that, the patch is not properly formatted. It is missing: > > 1. Versioning: this should have been "[PATCH v2] ...". > > 2. Changelog: for a single patch, it should be added below > the '---' line, after your Signed-off-by. You added > "Fix indentation issues..." as a sort of changelog, but > it is in the wrong place and it is not clear that it is > a changelog. > > 3. Please don't send a new version as a reply to the previous > one. From a maintainer's point of view, that makes it more > difficult to track and apply. > > That said, I believe this is your first patch, and that's > perfectly fine. Welcome to the community :-) > > Unless there are further comments, I'll apply your patch to > i2c/i2c-for-7.2. > > Thanks, > Andi ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] i2c: amd-asf: Validate firmware-reported length 2026-06-12 10:18 ` Paritosh Potukuchi 2026-06-17 10:20 ` Andi Shyti @ 2026-06-17 23:38 ` Andi Shyti 1 sibling, 0 replies; 5+ messages in thread From: Andi Shyti @ 2026-06-17 23:38 UTC (permalink / raw) To: Paritosh Potukuchi Cc: shyam-sundar.s-k, linux-i2c, linux-kernel, Paritosh Potukuchi Hi Paritosh, On Fri, Jun 12, 2026 at 10:18:15AM +0000, Paritosh Potukuchi wrote: > The firmware may sometimes return a length greater than the > allocated buffer size, which can lead to out-of-bounds access > and a kernel panic. > > Currently, the driver does not validate the length read from > firmware. > > Add a check to ensure the firmware-reported length stays within > the bounds of the data buffer. > > Fix indentation issues reported by checkpatch. > > Signed-off-by: Paritosh Potukuchi <paritosh.potukuchi@amd.com> merged to i2c/i2c-for-7.2 Thanks, Andi ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-06-17 23:38 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-06-12 9:35 [PATCH] i2c: amd-asf: Validate firmware-reported length Paritosh Potukuchi 2026-06-12 10:18 ` Paritosh Potukuchi 2026-06-17 10:20 ` Andi Shyti 2026-06-17 11:06 ` Shyam Sundar S K 2026-06-17 23:38 ` Andi Shyti
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®