[PATCH v2 0/2] Last minute rseq fixes for 7.0

Mathieu Desnoyers posted 2 patches 1 month, 3 weeks ago
There is a newer version of this series
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(-)
[PATCH v2 0/2] Last minute rseq fixes for 7.0
Posted by Mathieu Desnoyers 1 month, 3 weeks ago
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@infradead.org>
CC: Ingo Molnar <mingo@kernel.org>
CC: Thomas Gleixner <tglx@kernel.org>
CC: Carlos O'Donell <carlos@redhat.com>
CC: Florian Weimer <fweimer@redhat.com>
CC: Michael Jeanson <mjeanson@efficios.com>


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