Go to file
Thomas Gleixner 0f085b4188 rseq: Provide and use rseq_set_ids()
Provide a new and straight forward implementation to set the IDs (CPU ID,
Node ID and MM CID), which can be later inlined into the fast path.

It does all operations in one scoped_user_rw_access() section and retrieves
also the critical section member (rseq::cs_rseq) from user space to avoid
another user..begin/end() pair. This is in preparation for optimizing the
fast path to avoid extra work when not required.

On rseq registration set the CPU ID fields to RSEQ_CPU_ID_UNINITIALIZED and
node and MM CID to zero. That's the same as the kernel internal reset
values. That makes the debug validation in the exit code work correctly on
the first exit to user space.

Use it to replace the whole related zoo in rseq.c

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://patch.msgid.link/20251027084307.393972266@linutronix.de
2025-11-04 08:33:33 +01:00
Documentation rseq: Provide static branch for runtime debugging 2025-11-04 08:32:49 +01:00
LICENSES
arch entry: Remove syscall_enter_from_user_mode_prepare() 2025-11-04 08:31:37 +01:00
block block-6.18-20251031 2025-10-31 12:57:19 -07:00
certs
crypto This push contains the following changes: 2025-10-10 08:56:16 -07:00
drivers rseq, virt: Retrigger RSEQ after vcpu_run() 2025-11-04 08:30:23 +01:00
fs rseq: Provide and use rseq_set_ids() 2025-11-04 08:33:33 +01:00
include rseq: Provide and use rseq_set_ids() 2025-11-04 08:33:33 +01:00
init rseq: Provide static branch for runtime debugging 2025-11-04 08:32:49 +01:00
io_uring io_uring: fix buffer auto-commit for multishot uring_cmd 2025-10-23 19:41:31 -06:00
ipc namespace-6.18-rc1 2025-09-29 11:20:29 -07:00
kernel rseq: Provide and use rseq_set_ids() 2025-11-04 08:33:33 +01:00
lib Second round of Kbuild fixes for 6.19 2025-11-01 10:00:53 -07:00
mm slab fixes for 6.18-rc3 2025-10-24 12:40:51 -07:00
net bpf-fixes 2025-10-31 18:22:26 -07:00
rust Driver core fixes for 6.18-rc3 2025-10-25 11:03:46 -07:00
samples Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
scripts kconfig/nconf: Initialize the default locale at startup 2025-11-01 00:23:22 -04:00
security integrity-v6.18 2025-10-05 10:48:33 -07:00
sound ASoC: Fixes for v6.18 2025-10-30 13:08:08 +01:00
tools objtool: Fix skip_alt_group() for non-alternative STAC/CLAC 2025-11-01 07:43:20 +01:00
usr gen_init_cpio: Ignore fsync() returning EINVAL on pipes 2025-10-07 09:53:05 -07:00
virt rseq, virt: Retrigger RSEQ after vcpu_run() 2025-11-04 08:30:23 +01:00
.clang-format
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap linux_kselftest-kunit-fixes-6.18-rc4 2025-10-30 19:11:27 -07:00
.pylintrc
.rustfmt.toml
COPYING
CREDITS MAINTAINERS: mark ISDN subsystem as orphan 2025-10-27 17:49:45 -07:00
Kbuild sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
Kconfig
MAINTAINERS Second round of Kbuild fixes for 6.19 2025-11-01 10:00:53 -07:00
Makefile Linux 6.18-rc4 2025-11-02 11:28:02 -08:00
README

README

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.