Go to file
Ard Biesheuvel 1105ab42a8 x86/sev: Disable jump tables in SEV startup code
When retpolines and IBT are both disabled, the compiler is free to use
jump tables to optimize switch instructions. However, these are emitted
by Clang as absolute references into .rodata:

        jmp    *-0x7dfffe90(,%r9,8)
                        R_X86_64_32S    .rodata+0x170

Given that this code will execute before that address in .rodata has even
been mapped, it is guaranteed to crash a SEV-SNP guest in a way that is
difficult to diagnose.

So disable jump tables when building this code. It would be better if we
could attach this annotation to the __head macro but this appears to be
impossible.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20250127114334.1045857-6-ardb+git@google.com
2025-01-28 23:10:29 +01:00
arch x86/sev: Disable jump tables in SEV startup code 2025-01-28 23:10:29 +01:00
block for-6.14/io_uring-20250119 2025-01-20 20:27:33 -08:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto This update includes the following changes: 2025-01-24 07:48:10 -08:00
Documentation The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
drivers The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
fs The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
include The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
init The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
io_uring The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
ipc ipc/util.c: complete the kernel-doc function descriptions 2025-01-24 22:47:27 -08:00
kernel The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
lib The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
LICENSES LICENSES: add 0BSD license text 2024-09-01 20:43:24 -07:00
mm The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
net The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
rust Networking changes for 6.14. 2025-01-22 08:28:57 -08:00
samples The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
scripts Mainly individually changelogged singleton patches. The patch series in 2025-01-26 17:50:53 -08:00
security Mainly individually changelogged singleton patches. The patch series in 2025-01-26 17:50:53 -08:00
sound Mainly individually changelogged singleton patches. The patch series in 2025-01-26 17:50:53 -08:00
tools The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
usr kbuild: Drop support for include/asm-<arch> in headers_check.pl 2024-12-21 11:43:17 +09:00
virt Merge branch 'kvm-mirror-page-tables' into HEAD 2025-01-20 07:15:58 -05:00
.clang-format clang-format: Update with v6.11-rc1's for_each macro list 2024-08-02 13:20:31 +02:00
.clippy.toml rust: give Clippy the minimum supported Rust version 2025-01-10 00:17:25 +01:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: Retire Ralf Baechle 2024-11-12 15:48:59 +01:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore rust: use host dylib naming convention to support macOS 2025-01-10 01:01:24 +01:00
.mailmap Mainly individually changelogged singleton patches. The patch series in 2025-01-26 17:50:53 -08:00
.rustfmt.toml
COPYING
CREDITS Mainly individually changelogged singleton patches. The patch series in 2025-01-26 17:50:53 -08:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig
MAINTAINERS The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00
Makefile Networking changes for 6.14. 2025-01-22 08:28:57 -08:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel

There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first.

In order to build the documentation, use make htmldocs or make pdfdocs. The formatted documentation can also be read online at:

https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory, several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.