From: Sami Tolvanen <samitolvanen@google.com>
To: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Jann Horn <jannh@google.com>,
"the arch/x86 maintainers" <x86@kernel.org>,
Masahiro Yamada <masahiroy@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Will Deacon <will@kernel.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 <clang-built-linux@googlegroups.com>,
Kernel Hardening <kernel-hardening@lists.openwall.com>,
linux-arch <linux-arch@vger.kernel.org>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
linux-kbuild <linux-kbuild@vger.kernel.org>,
kernel list <linux-kernel@vger.kernel.org>,
linux-pci@vger.kernel.org
Subject: Re: [PATCH v6 22/25] x86/asm: annotate indirect jumps
Date: Fri, 13 Nov 2020 14:54:32 -0800 [thread overview]
Message-ID: <CABCJKufBEBcPPrUZcAvh1LXX_GwRG1S1sg2ED2DPZ53MPy_VbQ@mail.gmail.com> (raw)
In-Reply-To: <20201113223412.inono2ekrs7ky7rm@treble>
On Fri, Nov 13, 2020 at 2:34 PM Josh Poimboeuf <jpoimboe@redhat.com> wrote:
>
> On Fri, Nov 13, 2020 at 12:24:32PM -0800, Sami Tolvanen wrote:
> > > I still don't see this warning for some reason.
> >
> > Do you have CONFIG_XEN enabled? I can reproduce this on ToT master as follows:
> >
> > $ git rev-parse HEAD
> > 585e5b17b92dead8a3aca4e3c9876fbca5f7e0ba
> > $ make defconfig && \
> > ./scripts/config -e HYPERVISOR_GUEST -e PARAVIRT -e XEN && \
> > make olddefconfig && \
> > make -j110
> > ...
> > $ ./tools/objtool/objtool check -arfld vmlinux.o 2>&1 | grep secondary
> > vmlinux.o: warning: objtool: __startup_secondary_64()+0x2: return with
> > modified stack frame
> >
> > > Is it fixed by adding cpu_bringup_and_idle() to global_noreturns[] in
> > > tools/objtool/check.c?
> >
> > No, that didn't fix the warning. Here's what I tested:
>
> I think this fixes it:
>
> From: Josh Poimboeuf <jpoimboe@redhat.com>
> Subject: [PATCH] x86/xen: Fix objtool vmlinux.o validation of xen hypercalls
>
> Objtool vmlinux.o validation is showing warnings like the following:
>
> # tools/objtool/objtool check -barfld vmlinux.o
> vmlinux.o: warning: objtool: __startup_secondary_64()+0x2: return with modified stack frame
> vmlinux.o: warning: objtool: xen_hypercall_set_trap_table()+0x0: <=== (sym)
>
> Objtool falls through all the empty hypercall text and gets confused
> when it encounters the first real function afterwards. The empty unwind
> hints in the hypercalls aren't working for some reason. Replace them
> with a more straightforward use of STACK_FRAME_NON_STANDARD.
>
> Reported-by: Sami Tolvanen <samitolvanen@google.com>
> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
> ---
> arch/x86/xen/xen-head.S | 9 ++++-----
> include/linux/objtool.h | 8 ++++++++
> 2 files changed, 12 insertions(+), 5 deletions(-)
Confirmed, this fixes the warning, also in LTO builds. Thanks!
Tested-by: Sami Tolvanen <samitolvanen@google.com>
Sami
next prev parent reply other threads:[~2020-11-13 22:55 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 ` [PATCH v6 22/25] x86/asm: annotate indirect jumps Sami Tolvanen
2020-10-14 22:46 ` 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 [this message]
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=CABCJKufBEBcPPrUZcAvh1LXX_GwRG1S1sg2ED2DPZ53MPy_VbQ@mail.gmail.com \
--to=samitolvanen@google.com \
--cc=clang-built-linux@googlegroups.com \
--cc=gregkh@linuxfoundation.org \
--cc=jannh@google.com \
--cc=jpoimboe@redhat.com \
--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).