From: Sami Tolvanen <samitolvanen@google.com>
To: Masahiro Yamada <masahiroy@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>
Cc: Will Deacon <will@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Paul E. McKenney" <paulmck@kernel.org>,
Kees Cook <keescook@chromium.org>,
Nick Desaulniers <ndesaulniers@google.com>,
clang-built-linux@googlegroups.com,
kernel-hardening@lists.openwall.com, linux-arch@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, x86@kernel.org,
Sami Tolvanen <samitolvanen@google.com>
Subject: [PATCH v6 22/25] x86/asm: annotate indirect jumps
Date: Mon, 12 Oct 2020 17:32:00 -0700 [thread overview]
Message-ID: <20201013003203.4168817-23-samitolvanen@google.com> (raw)
In-Reply-To: <20201013003203.4168817-1-samitolvanen@google.com>
Running objtool --vmlinux --duplicate on vmlinux.o produces a few
warnings about indirect jumps with retpoline:
vmlinux.o: warning: objtool: wakeup_long64()+0x61: indirect jump
found in RETPOLINE build
...
This change adds ANNOTATE_RETPOLINE_SAFE annotations to the jumps
in assembly code to stop the warnings.
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
---
arch/x86/kernel/acpi/wakeup_64.S | 2 ++
arch/x86/platform/pvh/head.S | 2 ++
arch/x86/power/hibernate_asm_64.S | 3 +++
3 files changed, 7 insertions(+)
diff --git a/arch/x86/kernel/acpi/wakeup_64.S b/arch/x86/kernel/acpi/wakeup_64.S
index c8daa92f38dc..041e79c4e195 100644
--- a/arch/x86/kernel/acpi/wakeup_64.S
+++ b/arch/x86/kernel/acpi/wakeup_64.S
@@ -7,6 +7,7 @@
#include <asm/msr.h>
#include <asm/asm-offsets.h>
#include <asm/frame.h>
+#include <asm/nospec-branch.h>
# Copyright 2003 Pavel Machek <pavel@suse.cz
@@ -39,6 +40,7 @@ SYM_FUNC_START(wakeup_long64)
movq saved_rbp, %rbp
movq saved_rip, %rax
+ ANNOTATE_RETPOLINE_SAFE
jmp *%rax
SYM_FUNC_END(wakeup_long64)
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 43b4d864817e..640b79cc64b8 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -15,6 +15,7 @@
#include <asm/asm.h>
#include <asm/boot.h>
#include <asm/processor-flags.h>
+#include <asm/nospec-branch.h>
#include <asm/msr.h>
#include <xen/interface/elfnote.h>
@@ -105,6 +106,7 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
/* startup_64 expects boot_params in %rsi. */
mov $_pa(pvh_bootparams), %rsi
mov $_pa(startup_64), %rax
+ ANNOTATE_RETPOLINE_SAFE
jmp *%rax
#else /* CONFIG_X86_64 */
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)
--
2.28.0.1011.ga647a8990f-goog
next prev parent reply other threads:[~2020-10-13 2:42 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-13 0:31 [PATCH v6 00/25] Add support for Clang LTO Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 01/25] kbuild: preprocess module linker script Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 02/25] objtool: Add a pass for generating __mcount_loc Sami Tolvanen
2020-10-14 16:50 ` Ingo Molnar
2020-10-14 18:21 ` Peter Zijlstra
2020-10-15 20:10 ` Josh Poimboeuf
2020-10-13 0:31 ` [PATCH v6 03/25] objtool: Don't autodetect vmlinux.o Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 04/25] tracing: move function tracer options to Kconfig Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 05/25] tracing: add support for objtool mcount Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 06/25] x86, build: use " Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 07/25] treewide: remove DISABLE_LTO Sami Tolvanen
2020-10-14 22:43 ` Kees Cook
2020-10-17 1:46 ` Masahiro Yamada
2020-10-13 0:31 ` [PATCH v6 08/25] kbuild: add support for Clang LTO Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 09/25] kbuild: lto: fix module versioning Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 10/25] objtool: Split noinstr validation from --vmlinux Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 11/25] kbuild: lto: postpone objtool Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 12/25] kbuild: lto: limit inlining Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 13/25] kbuild: lto: merge module sections Sami Tolvanen
2020-10-14 22:49 ` Kees Cook
2020-10-20 16:42 ` Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 14/25] kbuild: lto: remove duplicate dependencies from .mod files Sami Tolvanen
2020-10-14 22:50 ` Kees Cook
2020-12-03 17:59 ` Masahiro Yamada
2020-12-03 18:47 ` Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 15/25] init: lto: ensure initcall ordering Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 16/25] init: lto: fix PREL32 relocations Sami Tolvanen
2020-10-14 22:53 ` Kees Cook
2020-10-15 0:12 ` Jann Horn
2020-10-13 0:31 ` [PATCH v6 17/25] PCI: Fix PREL32 relocations for LTO Sami Tolvanen
2020-10-14 22:58 ` Kees Cook
2020-10-13 0:31 ` [PATCH v6 18/25] modpost: lto: strip .lto from module names Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 19/25] scripts/mod: disable LTO for empty.c Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 20/25] efi/libstub: disable LTO Sami Tolvanen
2020-10-13 0:31 ` [PATCH v6 21/25] drivers/misc/lkdtm: disable LTO for rodata.o Sami Tolvanen
2020-10-13 0:32 ` Sami Tolvanen [this message]
2020-10-14 22:46 ` [PATCH v6 22/25] x86/asm: annotate indirect jumps Kees Cook
2020-10-14 23:23 ` Jann Horn
2020-10-15 10:22 ` Peter Zijlstra
2020-10-15 20:39 ` Josh Poimboeuf
2020-10-20 16:45 ` Sami Tolvanen
2020-10-20 18:52 ` Josh Poimboeuf
2020-10-20 19:24 ` Sami Tolvanen
2020-10-21 8:56 ` Peter Zijlstra
2020-10-21 9:08 ` Peter Zijlstra
2020-10-21 9:32 ` Peter Zijlstra
2020-10-21 21:27 ` Josh Poimboeuf
2020-10-22 7:25 ` Peter Zijlstra
2020-10-23 17:48 ` Sami Tolvanen
2020-10-23 18:04 ` Nick Desaulniers
2020-10-21 15:01 ` Sami Tolvanen
2020-10-22 0:22 ` Sami Tolvanen
2020-10-23 17:36 ` Sami Tolvanen
2020-11-09 23:11 ` Sami Tolvanen
2020-11-10 2:29 ` Josh Poimboeuf
2020-11-10 3:18 ` Nick Desaulniers
2020-11-10 4:48 ` Sami Tolvanen
2020-11-10 16:11 ` Josh Poimboeuf
2020-11-10 17:46 ` Josh Poimboeuf
2020-11-10 18:59 ` Sami Tolvanen
2020-11-13 19:54 ` Josh Poimboeuf
2020-11-13 20:24 ` Sami Tolvanen
2020-11-13 20:52 ` Josh Poimboeuf
2020-11-13 22:34 ` Josh Poimboeuf
2020-11-13 22:54 ` Sami Tolvanen
2020-11-13 22:56 ` Josh Poimboeuf
2020-11-13 23:31 ` Sami Tolvanen
2020-11-14 0:49 ` Josh Poimboeuf
2020-10-21 9:51 ` Peter Zijlstra
2020-10-21 18:30 ` Josh Poimboeuf
2020-10-13 0:32 ` [PATCH v6 23/25] x86, vdso: disable LTO only for vDSO Sami Tolvanen
2020-10-13 0:32 ` [PATCH v6 24/25] x86, cpu: disable LTO for cpu.c Sami Tolvanen
2020-10-13 0:32 ` [PATCH v6 25/25] x86, build: allow LTO_CLANG and THINLTO to be selected Sami Tolvanen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201013003203.4168817-23-samitolvanen@google.com \
--to=samitolvanen@google.com \
--cc=clang-built-linux@googlegroups.com \
--cc=gregkh@linuxfoundation.org \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=ndesaulniers@google.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=will@kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).