UPSTREAM: arm64: entry: Add macro for reading symbol addresses from the trampoline
commit b28a8eeb upstream. The trampoline code needs to use the address of symbols in the wider kernel, e.g. vectors. PC-relative addressing wouldn't work as the trampoline code doesn't run at the address the linker expected. tramp_ventry uses a literal pool, unless CONFIG_RANDOMIZE_BASE is set, in which case it uses the data page as a literal pool because the data page can be unmapped when running in user-space, which is required for CPUs vulnerable to meltdown. Pull this logic out as a macro, instead of adding a third copy of it. Bug: 215557547 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> Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com> Change-Id: I1d11f54bb867a6312069bc3fae6f4ceb4ab1fd20 (cherry picked from commit 28837e41)
Loading
Please sign in to comment