Re: [External] Re: [PATCH] firmware: smccc: Fix use of uninitialised results structure

From: Punit Agrawal
Date: Wed Jul 19 2023 - 04:11:23 EST


Sudeep Holla <sudeep.holla@xxxxxxx> writes:

> On Tue, Jul 18, 2023 at 09:38:26AM +0100, Marc Zyngier wrote:
>> On Mon, 17 Jul 2023 18:17:02 +0100,
>> Punit Agrawal <punit.agrawal@xxxxxxxxxxxxx> wrote:
>> >
>> > Commit 35727af2b15d ("irqchip/gicv3: Workaround for NVIDIA erratum
>> > T241-FABRIC-4") moved the initialisation of the SoC version to
>> > arm_smccc_version_init() but forgot to update the results structure
>> > and it's usage.
>> >
>> > Fix the use of the uninitialised results structure and update the
>> > error strings.
>> >
>> > Fixes: 35727af2b15d ("irqchip/gicv3: Workaround for NVIDIA erratum T241-FABRIC-4")
>> > Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxxxxxxxx>
>> > Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
>> > Cc: Marc Zyngier <maz@xxxxxxxxxx>
>> > Cc: Vikram Sethi <vsethi@xxxxxxxxxx>
>> > Cc: Shanker Donthineni <sdonthineni@xxxxxxxxxx>
>> > ---
>> > drivers/firmware/smccc/soc_id.c | 5 ++---
>> > 1 file changed, 2 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/drivers/firmware/smccc/soc_id.c b/drivers/firmware/smccc/soc_id.c
>> > index 890eb454599a..1990263fbba0 100644
>> > --- a/drivers/firmware/smccc/soc_id.c
>> > +++ b/drivers/firmware/smccc/soc_id.c
>> > @@ -34,7 +34,6 @@ static struct soc_device_attribute *soc_dev_attr;
>> >
>> > static int __init smccc_soc_init(void)
>> > {
>> > - struct arm_smccc_res res;
>> > int soc_id_rev, soc_id_version;
>> > static char soc_id_str[20], soc_id_rev_str[12];
>> > static char soc_id_jep106_id_str[12];
>> > @@ -49,13 +48,13 @@ static int __init smccc_soc_init(void)
>> > }
>> >
>> > if (soc_id_version < 0) {
>> > - pr_err("ARCH_SOC_ID(0) returned error: %lx\n", res.a0);
>> > + pr_err("Invalid SoC Version: %x\n", soc_id_version);
>> > return -EINVAL;
>> > }
>> >
>> > soc_id_rev = arm_smccc_get_soc_id_revision();
>> > if (soc_id_rev < 0) {
>> > - pr_err("ARCH_SOC_ID(1) returned error: %lx\n", res.a0);
>> > + pr_err("Invalid SoC Revision: %x\n", soc_id_rev);
>> > return -EINVAL;
>> > }
>> >
>>
>> Ah, indeed. Well caught. FWIW:
>>
>> Acked-by: Marc Zyngier <maz@xxxxxxxxxx>

Thanks Marc.

>> Sudeep, I assume you'll take that one directly?
>>
>
> Sure I will route it via (arm-)soc team.

Sudeep, hope you can add the tag while applying. Let me know if you'd
like me to resend.