summaryrefslogtreecommitdiff
path: root/arch/x86/power/hibernate_asm_64.S
diff options
context:
space:
mode:
authorJosh Poimboeuf <jpoimboe@redhat.com>2021-01-21 15:29:34 -0600
committerJosh Poimboeuf <jpoimboe@redhat.com>2021-01-26 11:33:04 -0600
commitb682369d47df66ebc157426f7eb991c3eec32e7e (patch)
treee24b1aed2f7c1a971a747c1739bbe3dc99388b65 /arch/x86/power/hibernate_asm_64.S
parentaeb818fcc94071e44203b3a36392562e5b88d9ec (diff)
x86/power: Annotate indirect branches as safe
These indirect jumps are harmless; annotate them to make objtool's retpoline validation happy. Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> Cc: Pavel Machek <pavel@ucw.cz> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Link: https://lore.kernel.org/r/ba7a141c98f2c09c255b19bf78ee4a5f45d4ecb6.1611263462.git.jpoimboe@redhat.com
Diffstat (limited to 'arch/x86/power/hibernate_asm_64.S')
-rw-r--r--arch/x86/power/hibernate_asm_64.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/power/hibernate_asm_64.S b/arch/x86/power/hibernate_asm_64.S
index 7918b8415f13..715509d94fa3 100644
--- a/arch/x86/power/hibernate_asm_64.S
+++ b/arch/x86/power/hibernate_asm_64.S
@@ -21,6 +21,7 @@
#include <asm/asm-offsets.h>
#include <asm/processor-flags.h>
#include <asm/frame.h>
+#include <asm/nospec-branch.h>
SYM_FUNC_START(swsusp_arch_suspend)
movq $saved_context, %rax
@@ -66,6 +67,7 @@ SYM_CODE_START(restore_image)
/* jump to relocated restore code */
movq relocated_restore_code(%rip), %rcx
+ ANNOTATE_RETPOLINE_SAFE
jmpq *%rcx
SYM_CODE_END(restore_image)
@@ -97,6 +99,7 @@ SYM_CODE_START(core_restore_code)
.Ldone:
/* jump to the restore_registers address from the image header */
+ ANNOTATE_RETPOLINE_SAFE
jmpq *%r8
SYM_CODE_END(core_restore_code)