UPSTREAM: arm64: factor out entry stack manipulation

In subsequent patches, we will detect stack overflow in our exception
entry code, by verifying the SP after it has been decremented to make
space for the exception regs.

This verification code is small, and we can minimize its impact by
placing it directly in the vectors. To avoid redundant modification of
the SP, we also need to move the initial decrement of the SP into the
vectors.

As a preparatory step, this patch introduces kernel_ventry, which
performs this decrement, and updates the entry code accordingly.
Subsequent patches will fold SP verification into kernel_ventry.

There should be no functional change as a result of this patch.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[Mark: turn into prep patch, expand commit msg]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Tested-by: Laura Abbott <labbott@redhat.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
(cherry picked from commit b11e5759bfac0c474d95ec4780b1566350e64cad)
Signed-off-by: Todd Poynor <toddpoynor@google.com>

Change-Id: I54428c1e60c9e0ed288bfda835e3b57d45f72999
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Git-commit: 17d3592068c2cd88e9c27ec7e5e0c3c8882c0008
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Channagoud Kadabi <ckadabi@codeaurora.org>
1 file changed