summaryrefslogtreecommitdiff
path: root/kernel/kallsyms.c
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2019-08-16 14:57:43 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2019-08-16 17:40:03 +0100
commitb6143d10d23ebb4a77af311e8b8b7f019d0163e6 (patch)
treef2e7abeb246bc656dd7f1213b5b0e423fa0c4854 /kernel/kallsyms.c
parent5717fe5ab38f9ccb32718bcb03bea68409c9cce4 (diff)
downloadlwn-b6143d10d23ebb4a77af311e8b8b7f019d0163e6.tar.gz
lwn-b6143d10d23ebb4a77af311e8b8b7f019d0163e6.zip
arm64: ftrace: Ensure module ftrace trampoline is coherent with I-side
The initial support for dynamic ftrace trampolines in modules made use of an indirect branch which loaded its target from the beginning of a special section (e71a4e1bebaf7 ("arm64: ftrace: add support for far branches to dynamic ftrace")). Since no instructions were being patched, no cache maintenance was needed. However, later in be0f272bfc83 ("arm64: ftrace: emit ftrace-mod.o contents through code") this code was reworked to output the trampoline instructions directly into the PLT entry but, unfortunately, the necessary cache maintenance was overlooked. Add a call to __flush_icache_range() after writing the new trampoline instructions but before patching in the branch to the trampoline. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: James Morse <james.morse@arm.com> Cc: <stable@vger.kernel.org> Fixes: be0f272bfc83 ("arm64: ftrace: emit ftrace-mod.o contents through code") Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'kernel/kallsyms.c')
0 files changed, 0 insertions, 0 deletions