From: Sami Tolvanen <samitolvanen@google.com>
To: Masahiro Yamada <masahiroy@kernel.org>,
Will Deacon <will@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>
Cc: 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 v5 26/29] x86/asm: annotate indirect jumps
Date: Fri, 9 Oct 2020 09:13:35 -0700 [thread overview]
Message-ID: <20201009161338.657380-27-samitolvanen@google.com> (raw)
In-Reply-To: <20201009161338.657380-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-09 16:15 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-09 16:13 [PATCH v5 00/29] Add support for Clang LTO Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 01/29] kbuild: preprocess module linker script Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 02/29] objtool: Add a pass for generating __mcount_loc Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 03/29] objtool: Don't autodetect vmlinux.o Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 04/29] tracing: move function tracer options to Kconfig Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 05/29] tracing: add support for objtool mcount Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 06/29] x86, build: use " Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 07/29] treewide: remove DISABLE_LTO Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 08/29] kbuild: add support for Clang LTO Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 09/29] kbuild: lto: fix module versioning Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 10/29] objtool: Split noinstr validation from --vmlinux Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 11/29] kbuild: lto: postpone objtool Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 12/29] kbuild: lto: limit inlining Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 13/29] kbuild: lto: merge module sections Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 14/29] kbuild: lto: remove duplicate dependencies from .mod files Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 15/29] init: lto: ensure initcall ordering Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 16/29] init: lto: fix PREL32 relocations Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 17/29] PCI: Fix PREL32 relocations for LTO Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 18/29] modpost: lto: strip .lto from module names Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 19/29] scripts/mod: disable LTO for empty.c Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 20/29] efi/libstub: disable LTO Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 21/29] drivers/misc/lkdtm: disable LTO for rodata.o Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 22/29] arm64: vdso: disable LTO Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 23/29] KVM: arm64: disable LTO for the nVHE directory Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 24/29] arm64: disable recordmcount with DYNAMIC_FTRACE_WITH_REGS Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 25/29] arm64: allow LTO_CLANG and THINLTO to be selected Sami Tolvanen
2020-10-12 8:31 ` Will Deacon
2020-10-12 20:44 ` Kees Cook
2020-10-12 20:51 ` Will Deacon
2020-10-12 21:02 ` Kees Cook
2020-10-09 16:13 ` Sami Tolvanen [this message]
2020-10-09 16:13 ` [PATCH v5 27/29] x86, vdso: disable LTO only for vDSO Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 28/29] x86, cpu: disable LTO for cpu.c Sami Tolvanen
2020-10-09 16:13 ` [PATCH v5 29/29] x86, build: allow LTO_CLANG and THINLTO to be selected Sami Tolvanen
2020-10-09 16:30 ` [PATCH v5 00/29] Add support for Clang LTO Sedat Dilek
2020-10-09 20:50 ` Sami Tolvanen
[not found] ` <20201009153512.1546446a@gandalf.local.home>
2020-10-09 21:05 ` Sami Tolvanen
2020-10-09 23:38 ` Steven Rostedt
2020-10-10 0:00 ` 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=20201009161338.657380-27-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).