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

Punit Agrawal punit.agrawal at bytedance.com
Wed Jul 19 01:10:51 PDT 2023


Sudeep Holla <sudeep.holla at arm.com> 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 at bytedance.com> 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 at bytedance.com>
>> > Cc: Sudeep Holla <sudeep.holla at arm.com>
>> > Cc: Marc Zyngier <maz at kernel.org>
>> > Cc: Vikram Sethi <vsethi at nvidia.com>
>> > Cc: Shanker Donthineni <sdonthineni at nvidia.com>
>> > ---
>> >  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 at kernel.org>

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.



More information about the linux-arm-kernel mailing list