Skip to contentSkip to conversation

x86/xsaves: Fix XSAVES known issues

PATCH Superseded Yu-cheng Yu 2 participants 3 messages Feb 22, 2016 – Feb 24, 2016

v1 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

cover x86/xsaves: Fix XSAVES known issues

XSAVES is a kernel-mode instruction. It offers a compacted format and memory-write optimization. These patches fix known issues in the first implementation. They are intended for discussion and getting feedback before actually getting applied.

Patch 1, 2, and 4 are for converting between kernel-mode xstate area and signal frames.

Patch 8 is for converting between kernel-mode xstate area and ptrace frames.

Patch 3 and 7 fix optimization issues introduced by XSAVES to the buffer init_fpstate.

Patch 5 and 6 are related to xstate component offsets.

Patch 9 fixes xstate area print out.

Patch 10 re-enables XSAVES.

Yu-cheng Yu (10):
x86/xsaves: Define and use user_xstate_size for xstate size in signal
context
x86/xsaves: Rename xstate_size to kernel_xstate_size to explicitly
distinguish xstate size in kernel from user space
x86/xsaves: Keep init_fpstate.xsave.header.xfeatures as zero for init
optimization
x86/xsaves: Introduce a new check that allows correct xstates copy
from kernel to user directly
x86/xsaves: Align xstate components according to CPUID x86/xsaves: Supervisor state component offset
x86/xsaves: Fix init_fpstate.header.xcomp_bv
x86/xsaves: Fix PTRACE frames for XSAVES
x86/xsaves: Fix XSTATE component offset print out x86/xsaves: Re-enable XSAVES

 arch/x86/include/asm/fpu/types.h  |   2 +
 arch/x86/include/asm/fpu/xstate.h |   8 +-
 arch/x86/include/asm/processor.h  |   3 +-
 arch/x86/kernel/fpu/core.c        |   6 +-
 arch/x86/kernel/fpu/init.c        |  32 +---
 arch/x86/kernel/fpu/regset.c      |  56 ++++--
 arch/x86/kernel/fpu/signal.c      |  69 ++++++-
 arch/x86/kernel/fpu/xstate.c      | 388 +++++++++++++++++++++++++++++---------
 8 files changed, 425 insertions(+), 139 deletions(-)
Signature · 1 line
1.9.1
#1 lore raw
Quoted 36 lines · Yu-cheng Yu

XSAVES is a kernel-mode instruction. It offers a compacted format and memory-write optimization. These patches fix known issues in the first implementation. They are intended for discussion and getting feedback before actually getting applied.

Patch 1, 2, and 4 are for converting between kernel-mode xstate area and signal frames.

Patch 8 is for converting between kernel-mode xstate area and ptrace frames.

Patch 3 and 7 fix optimization issues introduced by XSAVES to the buffer init_fpstate.

Patch 5 and 6 are related to xstate component offsets.

Patch 9 fixes xstate area print out.

Patch 10 re-enables XSAVES.

Yu-cheng Yu (10):
x86/xsaves: Define and use user_xstate_size for xstate size in signal
context
x86/xsaves: Rename xstate_size to kernel_xstate_size to explicitly
distinguish xstate size in kernel from user space
x86/xsaves: Keep init_fpstate.xsave.header.xfeatures as zero for init
optimization
x86/xsaves: Introduce a new check that allows correct xstates copy
from kernel to user directly
x86/xsaves: Align xstate components according to CPUID x86/xsaves: Supervisor state component offset
x86/xsaves: Fix init_fpstate.header.xcomp_bv
x86/xsaves: Fix PTRACE frames for XSAVES
x86/xsaves: Fix XSTATE component offset print out x86/xsaves: Re-enable XSAVES

Quoted 9 lines
 arch/x86/include/asm/fpu/types.h  |   2 +
 arch/x86/include/asm/fpu/xstate.h |   8 +-
 arch/x86/include/asm/processor.h  |   3 +-
 arch/x86/kernel/fpu/core.c        |   6 +-
 arch/x86/kernel/fpu/init.c        |  32 +---
 arch/x86/kernel/fpu/regset.c      |  56 ++++--
 arch/x86/kernel/fpu/signal.c      |  69 ++++++-
 arch/x86/kernel/fpu/xstate.c      | 388 +++++++++++++++++++++++++++++---------
 8 files changed, 425 insertions(+), 139 deletions(-)

Small housekeeping request: could you please make sure your series is properly threaded for email clients? This submission was sent as singular patches, without any References header.

I don't even know how you coaxed git-send-email into doing that - did you use --no-thread?

The recommended flags are --thread --no-chain-reply-to.

Thanks!

Ingo

#2 lore raw
Quoted 5 lines · Ingo Molnar

Small housekeeping request: could you please make sure your series is properly threaded for email clients? This submission was sent as singular patches, without any References header.

Quoted 8 lines

I don't even know how you coaxed git-send-email into doing that - did you use --no-thread?

The recommended flags are --thread --no-chain-reply-to.

Thanks!

Ingo

I will fix it when sending out the next version.
Thanks!

-- Yu-cheng