[PATCH -next] irqchip/gic-v3-its: protect reference to cpus_booted_once_mask

Randy Dunlap posted 1 patch 4 years, 5 months ago
drivers/irqchip/irq-gic-v3-its.c |    3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH -next] irqchip/gic-v3-its: protect reference to cpus_booted_once_mask
Posted by Randy Dunlap 4 years, 5 months ago
When CONFIG_SMP is not set/enabled, the reference in irq-gic-v3-its.c
to 'cpus_booted_once_mask' causes a build error. Fix this by
first checking for !CONFIG_SMP in the 'if' test.

Fixes this build error:

arm-linux-gnueabi-ld: drivers/irqchip/irq-gic-v3-its.o: in function `its_cpu_memreserve_lpi':
irq-gic-v3-its.c:(.text+0x45d0): undefined reference to `cpus_booted_once_mask'

Fixes: 835f442fdbce3 ("irqchip/gic-v3-its: Limit memreserve cpuhp state lifetime")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
---
 drivers/irqchip/irq-gic-v3-its.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- linux-next-20220121.orig/drivers/irqchip/irq-gic-v3-its.c
+++ linux-next-20220121/drivers/irqchip/irq-gic-v3-its.c
@@ -5241,7 +5241,8 @@ static int its_cpu_memreserve_lpi(unsign
 
 out:
 	/* Last CPU being brought up gets to issue the cleanup */
-	if (cpumask_equal(&cpus_booted_once_mask, cpu_possible_mask))
+	if (!IS_ENABLED(CONFIG_SMP) ||
+	    cpumask_equal(&cpus_booted_once_mask, cpu_possible_mask))
 		schedule_work(&rdist_memreserve_cpuhp_cleanup_work);
 
 	gic_data_rdist()->flags |= RD_LOCAL_MEMRESERVE_DONE;
Re: [PATCH -next] irqchip/gic-v3-its: protect reference to cpus_booted_once_mask
Posted by Marc Zyngier 4 years, 5 months ago
On 2022-01-22 23:40, Randy Dunlap wrote:
> When CONFIG_SMP is not set/enabled, the reference in irq-gic-v3-its.c
> to 'cpus_booted_once_mask' causes a build error. Fix this by
> first checking for !CONFIG_SMP in the 'if' test.
> 
> Fixes this build error:
> 
> arm-linux-gnueabi-ld: drivers/irqchip/irq-gic-v3-its.o: in function
> `its_cpu_memreserve_lpi':
> irq-gic-v3-its.c:(.text+0x45d0): undefined reference to 
> `cpus_booted_once_mask'
> 
> Fixes: 835f442fdbce3 ("irqchip/gic-v3-its: Limit memreserve cpuhp
> state lifetime")
> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Reported-by: kernel test robot <lkp@intel.com>
> Cc: Valentin Schneider <valentin.schneider@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> ---
>  drivers/irqchip/irq-gic-v3-its.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> --- linux-next-20220121.orig/drivers/irqchip/irq-gic-v3-its.c
> +++ linux-next-20220121/drivers/irqchip/irq-gic-v3-its.c
> @@ -5241,7 +5241,8 @@ static int its_cpu_memreserve_lpi(unsign
> 
>  out:
>  	/* Last CPU being brought up gets to issue the cleanup */
> -	if (cpumask_equal(&cpus_booted_once_mask, cpu_possible_mask))
> +	if (!IS_ENABLED(CONFIG_SMP) ||
> +	    cpumask_equal(&cpus_booted_once_mask, cpu_possible_mask))
>  		schedule_work(&rdist_memreserve_cpuhp_cleanup_work);
> 
>  	gic_data_rdist()->flags |= RD_LOCAL_MEMRESERVE_DONE;

This exact patch[1] has been queued yesterday.

Thanks,

         M.

[1] https://lore.kernel.org/r/20220122151614.133766-1-ardb@kernel.org
-- 
Jazz is not dead. It just smells funny...