]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: irqflags: Add condition flags to inline asm clobber list
authorJulien Thierry <julien.thierry@arm.com>
Tue, 11 Jun 2019 09:38:08 +0000 (10:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Jul 2019 07:13:01 +0000 (09:13 +0200)
commit f57065782f245ca96f1472209a485073bbc11247 upstream.

Some of the inline assembly instruction use the condition flags and need
to include "cc" in the clobber list.

Fixes: 4a503217ce37 ("arm64: irqflags: Use ICC_PMR_EL1 for interrupt masking")
Cc: <stable@vger.kernel.org> # 5.1.x-
Suggested-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/include/asm/irqflags.h

index 43d8366c1e878ef2635d9c3b69733021c804e6f5..efa2976ca05023baaf1a036f0a87255f00146b22 100644 (file)
@@ -92,7 +92,7 @@ static inline unsigned long arch_local_save_flags(void)
                        ARM64_HAS_IRQ_PRIO_MASKING)
                : "=&r" (flags), "+r" (daif_bits)
                : "r" ((unsigned long) GIC_PRIO_IRQOFF)
-               : "memory");
+               : "cc", "memory");
 
        return flags;
 }
@@ -136,7 +136,7 @@ static inline int arch_irqs_disabled_flags(unsigned long flags)
                        ARM64_HAS_IRQ_PRIO_MASKING)
                : "=&r" (res)
                : "r" ((int) flags)
-               : "memory");
+               : "cc", "memory");
 
        return res;
 }