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
This commit is contained in:
Josh Poimboeuf 2021-01-21 15:29:34 -06:00
parent aeb818fcc9
commit b682369d47
1 changed files with 3 additions and 0 deletions

View File

@ -21,6 +21,7 @@
#include <asm/asm-offsets.h> #include <asm/asm-offsets.h>
#include <asm/processor-flags.h> #include <asm/processor-flags.h>
#include <asm/frame.h> #include <asm/frame.h>
#include <asm/nospec-branch.h>
SYM_FUNC_START(swsusp_arch_suspend) SYM_FUNC_START(swsusp_arch_suspend)
movq $saved_context, %rax movq $saved_context, %rax
@ -66,6 +67,7 @@ SYM_CODE_START(restore_image)
/* jump to relocated restore code */ /* jump to relocated restore code */
movq relocated_restore_code(%rip), %rcx movq relocated_restore_code(%rip), %rcx
ANNOTATE_RETPOLINE_SAFE
jmpq *%rcx jmpq *%rcx
SYM_CODE_END(restore_image) SYM_CODE_END(restore_image)
@ -97,6 +99,7 @@ SYM_CODE_START(core_restore_code)
.Ldone: .Ldone:
/* jump to the restore_registers address from the image header */ /* jump to the restore_registers address from the image header */
ANNOTATE_RETPOLINE_SAFE
jmpq *%r8 jmpq *%r8
SYM_CODE_END(core_restore_code) SYM_CODE_END(core_restore_code)