arm64: entry: Don't assume tramp_vectors is the start of the vectors
authorJames Morse <james.morse@arm.com>
Wed, 24 Nov 2021 13:40:09 +0000 (13:40 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 11 Mar 2022 11:11:52 +0000 (12:11 +0100)
commite55025063276fcf7b07e9340c38d70b04aa8a7b9
tree79c72c26da652d764d6bb042a15a35ef92cf0640
parent5275fb5ea5f573ce1ecd2bf0bcd928abb916b43d
arm64: entry: Don't assume tramp_vectors is the start of the vectors

commit ed50da7764535f1e24432ded289974f2bf2b0c5a upstream.

The tramp_ventry macro uses tramp_vectors as the address of the vectors
when calculating which ventry in the 'full fat' vectors to branch to.

While there is one set of tramp_vectors, this will be true.
Adding multiple sets of vectors will break this assumption.

Move the generation of the vectors to a macro, and pass the start
of the vectors as an argument to tramp_ventry.

Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/kernel/entry.S