From: Breno Leitao <leitao@debian.org>
To: Linus Torvalds <torvalds@linux-foundation.org>, peterz@infradead.org
Cc: Peter Zijlstra <peterz@infradead.org>,
Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@kernel.org>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Josh Poimboeuf <jpoimboe@kernel.org>,
Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
linux-kernel@vger.kernel.org, llvm@lists.linux.dev,
kernel-team@meta.com
Subject: Re: [PATCH RFC] x86/syscall: Dispatch via sys_call_table when Spectre v2 and BHI are off
Date: Mon, 2 Nov 2026 10:49:41 -0800 [thread overview]
Message-ID: <aujZL2d08hMp7FK7@gmail.com> (raw)
In-Reply-To: <CAHk-=wjg-mre6diNHCTYUtc=X26462GGxgJMw8cE20Wh1-5qBQ@mail.gmail.com>
Hello Linus,
On Fri, Oct 30, 2026 at 08:56:12AM -1000, Linus Torvalds wrote:
> On Thu, 29 Oct 2026 at 02:30, Breno Leitao <leitao@debian.org> wrote:
>
> We could have a single static jump that picks between this one and the
> "conditional branch tree" version, as in your patch at the beginning
> of the thread.
I am looking at this on top of Peter's "x86: Harden syscall dispatch"
series [1], and before spending more time on it, I would like to
clarify how you see this suggestion fitting with Peter's series.
Peter's patch 1 makes -fno-jump-tables unconditional on x86_64 and
drops array_index_nospec() from the dispatch. Patch 4 then marks every
syscall __noendbr, since dispatch is only direct calls.
The computed jump you suggested is somehow a jump table, just without
the load: the syscall number picks the target of an indirect JMP. So I
suspect we don't need array_index_nospec() back on that path, given
the user explictly set mitigations=off (?).
Is that what you had in mind:
a) the switch tree by default
b) table as a fast path only for kernels booted with mitigations
disabled
Thanks,
--breno
[1] https://lore.kernel.org/all/20261102112549.714541309@infradead.org/
next prev parent reply other threads:[~2026-11-02 18:50 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-29 10:27 [PATCH RFC] x86/syscall: Dispatch via sys_call_table when Spectre v2 and BHI are off Breno Leitao
2026-10-29 10:49 ` Peter Zijlstra
2026-10-29 12:30 ` Breno Leitao
2026-10-29 12:39 ` Peter Zijlstra
2026-10-30 5:38 ` Borislav Petkov
2026-10-30 12:11 ` Breno Leitao
2026-10-30 18:34 ` Borislav Petkov
2026-10-30 18:56 ` Linus Torvalds
2026-10-30 19:03 ` H. Peter Anvin
2026-11-02 18:49 ` Breno Leitao [this message]
2026-11-02 20:02 ` Linus Torvalds
2026-11-02 20:06 ` Andrew Cooper
2026-11-02 20:11 ` Linus Torvalds
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=aujZL2d08hMp7FK7@gmail.com \
--to=leitao@debian.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jpoimboe@kernel.org \
--cc=justinstitt@google.com \
--cc=kernel-team@meta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=pawan.kumar.gupta@linux.intel.com \
--cc=peterz@infradead.org \
--cc=tglx@kernel.org \
--cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.