All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] x86/fpu: Restore and reinforce signal frame portability
@ 2026-05-26 20:50 Andrei Vagin
  2026-05-26 20:50 ` [PATCH 1/5] Revert "x86/fpu: Refine and simplify the magic number check during signal return" Andrei Vagin
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Andrei Vagin @ 2026-05-26 20:50 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar
  Cc: linux-kernel, criu, Borislav Petkov, Dave Hansen, x86,
	Andrei Vagin, H. Peter Anvin, Chang S. Bae

The x86 signal frame is designed to be self-describing. The xstate_size
field in the software-reserved bytes indicates the actual size of the
xstate context and is used by the kernel to locate the FP_XSTATE_MAGIC2
marker during signal return.

This design is required to provide portability of signal frames across
different machines. For example, a process checkpointed on a system with
fewer xstate features and restored on a system with more features will
have a signal frame on its stack that is smaller than the destination
host's default. By relying on the frame's internal xstate_size, the
kernel can correctly validate and restore such frames.

This series addresses a regression introduced in commit dc8aa31a7ac2
("x86/fpu: Refine and simplify the magic number check during signal
return").

Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: "Chang S. Bae" <chang.seok.bae@intel.com>

Andrei Vagin (5):
  Revert "x86/fpu: Refine and simplify the magic number check during
    signal return"
  x86/fpu: Document signal frame portability
  selftests/x86: Add a test for signal frame portability
  x86/fpu: Add consistency check between xstate_size and xfeatures
  selftests/x86: Add a consistency test for signal frames

 Documentation/arch/x86/xstate.rst             |  14 +-
 arch/x86/include/uapi/asm/sigcontext.h        |  13 +-
 arch/x86/kernel/fpu/signal.c                  |  36 +++-
 arch/x86/kernel/fpu/xstate.c                  |   2 +-
 arch/x86/kernel/fpu/xstate.h                  |   2 +
 tools/testing/selftests/x86/Makefile          |   5 +-
 .../selftests/x86/sigframe_portability.c      | 189 ++++++++++++++++++
 tools/testing/selftests/x86/xstate.c          |   5 -
 tools/testing/selftests/x86/xstate.h          |  12 ++
 9 files changed, 260 insertions(+), 18 deletions(-)
 create mode 100644 tools/testing/selftests/x86/sigframe_portability.c

-- 
2.54.0.746.g67dd491aae-goog


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-06-03 15:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-26 20:50 [PATCH 0/5] x86/fpu: Restore and reinforce signal frame portability Andrei Vagin
2026-05-26 20:50 ` [PATCH 1/5] Revert "x86/fpu: Refine and simplify the magic number check during signal return" Andrei Vagin
2026-05-27 19:48   ` Sasha Levin
2026-05-28 17:08     ` Andrei Vagin
2026-06-03 15:13   ` Sasha Levin
2026-05-26 20:50 ` [PATCH 2/5] x86/fpu: Document signal frame portability Andrei Vagin
2026-05-26 20:50 ` [PATCH 3/5] selftests/x86: Add a test for " Andrei Vagin
2026-05-26 20:50 ` [PATCH 4/5] x86/fpu: Add consistency check between xstate_size and xfeatures Andrei Vagin
2026-05-26 20:50 ` [PATCH 5/5] selftests/x86: Add a consistency test for signal frames Andrei Vagin

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.