ARM: 7876/1: clear Thumb-2 IT state on exception handling
authorMarc Zyngier <Marc.Zyngier@arm.com>
Mon, 4 Nov 2013 10:42:29 +0000 (11:42 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 18:55:46 +0000 (10:55 -0800)
commit45a8ae89ee0f4d4b33f75b2e619f4112810ff822
tree8d832025a8a95859b52ff03db5a08d8413c8aec4
parent853e96428c8e8f2ac95e1b6a144114340694a244
ARM: 7876/1: clear Thumb-2 IT state on exception handling

commit e16b31bf47738f4498d7ce632e12d7d2a6a2492a upstream.

The exception handling code fails to clear the IT state, potentially
leading to incorrect execution of the fixup if the size of the IT
block is more than one.

Let fixup_exception do the IT sanitizing if a fixup has been found,
and restore CPSR from the stack when returning from a data abort.

Cc: Will Deacon <will.deacon@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/kernel/entry-armv.S
arch/arm/mm/extable.c