[PATCH v2 0/2] Last minute rseq fixes for 7.0
From: Mathieu Desnoyers
Date: Wed Feb 18 2026 - 15:14:51 EST
Hi,
Here are two last minute rseq fixes aiming at 7.0.
The first is a clarification of a rseq registration comment to match the
rseq_size range checks.
The second ensures that the new scheduler slice extension field don't
end up exposing a rseq feature size equal to the original rseq size,
which would make life harder than it needs to be for userspace.
Updates since v1:
- Don't change the alignment of struct rseq, because the kernel needs to
keep backward compatibility and access 32-byte aligned rseq
structures. Instead, change the value returned by getauxval(AT_RSEQ_ALIGN)
to return the value of the active rseq area size rounded up to next
power of 2, which guarantees that the rseq structure will always be
aligned on the nearest power of two large enough to contain it, even
as it grows. Change the alignment check in the rseq registration
accordingly.
Thanks,
Mathieu
CC: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
CC: Ingo Molnar <mingo@xxxxxxxxxx>
CC: Thomas Gleixner <tglx@xxxxxxxxxx>
CC: Carlos O'Donell <carlos@xxxxxxxxxx>
CC: Florian Weimer <fweimer@xxxxxxxxxx>
CC: Michael Jeanson <mjeanson@xxxxxxxxxxxx>
Mathieu Desnoyers (2):
rseq: Clarify rseq registration rseq_size bound check comment
rseq: slice ext: Ensure rseq feature size differs from original rseq
size
fs/binfmt_elf.c | 3 ++-
include/linux/rseq.h | 12 ++++++++++++
include/uapi/linux/rseq.h | 19 ++++++++++++++++---
kernel/rseq.c | 8 +++++---
4 files changed, 35 insertions(+), 7 deletions(-)
--
2.39.5