* [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®