[PATCH v7 1/2] ARM: avoid tracers in soft_restart

Sebastian Capella sebastian.capella at linaro.org
Thu Mar 6 18:45:53 EST 2014


Quoting Sebastian Capella (2014-03-05 02:50:04)
> Use of tracers in local_irq_disable is causes recursive aborts when
> called with irqs disabled and using a temporary stack (hibernation).
> Replace local_irq_disable with raw_local_irq_disable instead to
> avoid tracers.
> 
> Signed-off-by: Sebastian Capella <sebastian.capella at linaro.org>
> Cc: Russell King <linux at arm.linux.org.uk>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Cc: Will Deacon <will.deacon at arm.com>
> Cc: Robin Holt <robin.m.holt at gmail.com>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> Cc: Konstantin Khlebnikov <k.khlebnikov at samsung.com>
> Cc: Steven Capper <steve.capper at linaro.org>
> Cc: Stephen Warren <swarren at nvidia.com>
> Cc: Tejun Heo <tj at kernel.org>
> ---
>  arch/arm/kernel/process.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
> index 92f7b15..f58b723 100644
> --- a/arch/arm/kernel/process.c
> +++ b/arch/arm/kernel/process.c
> @@ -100,7 +100,7 @@ void soft_restart(unsigned long addr)
>         u64 *stack = soft_restart_stack + ARRAY_SIZE(soft_restart_stack);
>  
>         /* Disable interrupts first */
> -       local_irq_disable();
> +       raw_local_irq_disable();
>         local_fiq_disable();
>  
>         /* Disable the L2 if we're the last man standing. */
> -- 
> 1.7.9.5
Hi,

I have not heard any feedback on this change, since V3 of the
patchset.

Is everyone ok with this as it is?

Thomas, thanks for proposing this, is this looking ok to you?

Thanks!

Sebastian



More information about the linux-arm-kernel mailing list