arm64: Bug fix in stack alignment exception
authorChiaHao <andy.jhshiu@gmail.com>
Thu, 12 Jun 2014 14:32:33 +0000 (15:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jul 2014 18:14:01 +0000 (11:14 -0700)
commit 3906c2b53cd23c2ae03e6ce41432c8e7f0a3cbbb upstream.

The value of ESR has been stored into x1, and should be directly pass to
do_sp_pc_abort function, "MOV x1, x25" is an extra operation and do_sp_pc_abort
will get the wrong value of ESR.

Signed-off-by: ChiaHao <andy.jhshiu@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/kernel/entry.S

index 6ad781b21c080a50c4c061dbd4037beafe8ba09b..7cd589ebca2a898e836be1c79fe2395c18b80ff1 100644 (file)
@@ -275,7 +275,6 @@ el1_sp_pc:
         * Stack or PC alignment exception handling
         */
        mrs     x0, far_el1
-       mov     x1, x25
        mov     x2, sp
        b       do_sp_pc_abort
 el1_undef: