From: Oliver Sang <oliver.sang@intel.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
Andy Lutomirski <luto@kernel.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
Fenghua Yu <fenghua.yu@intel.com>,
Tony Luck <tony.luck@intel.com>,
Yu-cheng Yu <yu-cheng.yu@intel.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Borislav Petkov <bp@suse.de>,
Peter Zijlstra <peterz@infradead.org>,
Kan Liang <kan.liang@linux.intel.com>,
Chang Seok Bae <chang.seok.bae@intel.com>,
Megha Dey <megha.dey@linux.intel.com>,
aubrey.li@intel.com, zhengjun.xing@linux.intel.com,
feng.tang@intel.com, yujie.liu@intel.com, beibei.si@intel.com,
philip.li@intel.com, julie.du@intel.com
Subject: Re: [patch V4 00/65] x86/fpu: Spring cleaning and PKRU sanitizing
Date: Fri, 25 Jun 2021 22:50:41 +0800 [thread overview]
Message-ID: <20210625145041.GA29722@xsang-OptiPlex-9020> (raw)
In-Reply-To: <20210623120127.327154589@linutronix.de>
Hi Thomas,
On Wed, Jun 23, 2021 at 02:01:27PM +0200, Thomas Gleixner wrote:
> The main parts of this series are:
>
> - Simplification and removal/replacement of redundant and/or
> overengineered code.
>
> - Name space cleanup as the existing names were just a permanent source
> of confusion.
>
> - Clear seperation of user ABI and kernel internal state handling.
>
> - Removal of PKRU from being XSTATE managed in the kernel because PKRU
> has to be eagerly restored on context switch and keeping it in sync
> in the xstate buffer is just pointless overhead and fragile.
>
> The kernel still XSAVEs PKRU on context switch but the value in the
> buffer is not longer used and never restored from the buffer.
>
> This still needs to be cleaned up, but the series is already 40+
> patches large and the cleanup of this is not a functional problem.
>
> The functional issues of PKRU management are fully addressed with the
> series as is.
>
> - Cleanup of fpu signal restore
>
> - Make the fast path self contained. Handle #PF directly and skip
> the slow path on any other exception as that will just end up
> with the same result that the frame is invalid. This allows
> the compiler to optimize the slow path out for 64bit kernels
> w/o ia32 emulation.
>
> - Reduce code duplication and unnecessary operations
>
> It applies on top of
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git master
>
> and is also available via git:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git x86/fpu
0-Day kernel CI tested this branch from performance view, choosing some sub-tests
from will-it-scale and stress-ng (detail as below)
Test Summary
============
no obvious performance changes found vs v5.13-rc7 so far
Test Environment
================
https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git/log/?h=x86/fpu
* a263e30a4f111 (tglx-devel/x86/fpu) x86/fpu/signal: Let xrstor handle the features to init
* cf917e53a97e9 x86/fpu/signal: Handle #PF in the direct restore path
* 7b269dff0be66 x86/fpu: Return proper error codes from user access functions
* d2d6be9e16386 x86/fpu/signal: Split out the direct restore code
...
* d3ca29fb9911f x86/fpu: Fix copy_xstate_to_kernel() gap handling
* 58a664af246e6 Merge branch 'x86/fpu' of ../tip into x86/fpu
|\
| * b7c11876d24bd (tip/x86/fpu, peterz-queue/x86/fpu) selftests/x86: Test signal frame XSTATE header corruption handling
...
* | 13311e74253fe (tag: v5.13-rc7
64bit kernel testing, upon below platforms:
(1)
model: Cascade Lake
Intel(R) Xeon(R) Gold 6238M CPU @ 2.10GHz
nr_node: 2
nr_cpu: 88
memory: 128G
(2)
model: Ice Lake
nr_node: 2
nr_cpu: 96
memory: 256G
32bit kernel testing, upon below platform:
Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
model: Ivy Bridge
nr_node: 1
nr_cpu: 8
memory: 16G
tested below test suites:
will-it-scale-performance-context_switch1
will-it-scale-performance-page_fault1
will-it-scale-performance-poll1
will-it-scale-performance-pthread_mutex1
will-it-scale-performance-writeseek1
regarding stress-ng, either no gap or data is unstable on
64bit (1) platform
commit:
v5.13-rc7
a263e30a4f111e13a6c859102d1b319a79b072c0
v5.13-rc7 a263e30a4f111e13a6c859102d1
---------------- ---------------------------
%stddev %change %stddev
\ | \
2.786e+08 ± 2% -1.3% 2.751e+08 stress-ng.switch.ops
4643776 ± 2% -1.3% 4585061 stress-ng.switch.ops_per_sec
--
25884344 ± 15% +5.3% 27252860 ± 12% stress-ng.nanosleep.ops
431397 ± 15% +5.3% 454204 ± 12% stress-ng.nanosleep.ops_per_sec
--
5.48e+09 ± 2% +4.3% 5.713e+09 ± 3% stress-ng.yield.ops
91326562 ± 2% +4.3% 95215138 ± 3% stress-ng.yield.ops_per_sec
--
6723205 ± 3% -2.0% 6585690 ± 9% stress-ng.tee.ops
112049 ± 3% -2.0% 109755 ± 9% stress-ng.tee.ops_per_sec
--
3078530 -0.2% 3072610 stress-ng.zombie.ops
49390 -0.2% 49295 stress-ng.zombie.ops_per_sec
--
2261601 -0.1% 2259339 stress-ng.cyclic.ops
37693 -0.1% 37655 stress-ng.cyclic.ops_per_sec
--
1.543e+09 ± 16% +0.4% 1.55e+09 ± 19% stress-ng.fifo.ops
25721633 ± 16% +0.4% 25831339 ± 19% stress-ng.fifo.ops_per_sec
--
192171 +0.6% 193383 stress-ng.clone.ops
2998 +0.6% 3016 stress-ng.clone.ops_per_sec
--
88703410 -0.5% 88257268 stress-ng.sleep.ops
1470841 -0.5% 1463509 stress-ng.sleep.ops_per_sec
--
401598 +0.1% 401990 stress-ng.netlink-proc.ops
6692 +0.1% 6699 stress-ng.netlink-proc.ops_per_sec
--
1.182e+08 +2.5% 1.212e+08 stress-ng.softlockup.ops
1969636 +2.5% 2019730 stress-ng.softlockup.ops_per_sec
--
1.866e+08 -0.2% 1.863e+08 stress-ng.fanotify.ops
4754116 ± 12% -2.8% 4620280 ± 5% stress-ng.fanotify.ops_per_sec
--
17926280 -0.3% 17866738 stress-ng.vforkmany.ops
286256 +0.4% 287262 stress-ng.vforkmany.ops_per_sec
--
1.381e+09 ± 13% +8.7% 1.501e+09 ± 19% stress-ng.fifo.ops
23013090 ± 13% +8.7% 25020209 ± 19% stress-ng.fifo.ops_per_sec
--
1.165e+08 ± 2% -2.0% 1.141e+08 ± 3% stress-ng.splice.ops
1941398 ± 2% -2.0% 1901755 ± 3% stress-ng.splice.ops_per_sec
--
5476091 -0.2% 5466962 stress-ng.vfork.ops
91262 -0.2% 91116 stress-ng.vfork.ops_per_sec
--
21878786 -1.4% 21574984 stress-ng.netlink-task.ops
364646 -1.4% 359582 stress-ng.netlink-task.ops_per_sec
--
5023286 +1.6% 5101458 stress-ng.pthread.ops
83554 +1.6% 84869 stress-ng.pthread.ops_per_sec
--
92688395 ± 2% -8.3% 84967931 ± 4% stress-ng.futex.ops
1544792 ± 2% -8.3% 1416117 ± 4% stress-ng.futex.ops_per_sec
--
5416582 ± 2% +1.6% 5504734 ± 5% stress-ng.wait.ops
90275 ± 2% +1.6% 91744 ± 5% stress-ng.wait.ops_per_sec
--
7.939e+08 ± 4% +0.7% 7.998e+08 stress-ng.mq.ops
13231931 ± 4% +0.7% 13329018 stress-ng.mq.ops_per_sec
--
3.936e+08 ± 53% +51.5% 5.965e+08 ± 37% stress-ng.hrtimers.ops
6416615 ± 52% +49.8% 9609730 ± 38% stress-ng.hrtimers.ops_per_sec
--
35268682 -1.1% 34872339 stress-ng.sendfile.ops
587805 -1.1% 581200 stress-ng.sendfile.ops_per_sec
--
18126587 -0.7% 18000304 ± 3% stress-ng.sem-sysv.ops
302108 -0.7% 300004 ± 3% stress-ng.sem-sysv.ops_per_sec
--
9.953e+08 ± 2% -0.4% 9.912e+08 stress-ng.pipe.ops
16589030 ± 2% -0.4% 16519202 stress-ng.pipe.ops_per_sec
--
1056000 +0.0% 1056000 stress-ng.schedpolicy.ops
17599 +0.0% 17599 stress-ng.schedpolicy.ops_per_sec
--
2.481e+09 +1.2% 2.51e+09 stress-ng.vm-splice.ops
41349053 +1.2% 41828864 stress-ng.vm-splice.ops_per_sec
--
56805932 ± 2% +1.1% 57451245 ± 2% stress-ng.eventfd.ops
946751 ± 2% +1.1% 957505 ± 2% stress-ng.eventfd.ops_per_sec
--
1605 -1.2% 1585 ± 2% stress-ng.mmapfork.ops
25.18 ± 4% -0.8% 24.98 ± 4% stress-ng.mmapfork.ops_per_sec
--
2549139 +1.2% 2578537 stress-ng.fork.ops
42485 +1.2% 42975 stress-ng.fork.ops_per_sec
--
16582541 ± 3% -10.8% 14792067 ± 21% stress-ng.close.ops
276357 ± 3% -10.8% 246515 ± 21% stress-ng.close.ops_per_sec
--
1.847e+09 -1.3% 1.822e+09 stress-ng.pipeherd.ops
30743202 -1.3% 30330538 stress-ng.pipeherd.ops_per_sec
--
6780757 ± 2% +4.3% 7070424 stress-ng.tee.ops
113008 ± 2% +4.3% 117835 stress-ng.tee.ops_per_sec
--
3421466 +0.0% 3422853 stress-ng.dnotify.ops
57024 +0.0% 57047 stress-ng.dnotify.ops_per_sec
--
749895 -0.9% 742801 stress-ng.kill.ops
12498 -0.9% 12379 stress-ng.kill.ops_per_sec
--
3.761e+08 -2.5% 3.668e+08 stress-ng.msg.ops
6266833 -2.5% 6112949 stress-ng.msg.ops_per_sec
--
2258479 +0.1% 2260255 stress-ng.daemon.ops
37641 +0.1% 37670 stress-ng.daemon.ops_per_sec
--
40560445 -0.8% 40239283 stress-ng.affinity.ops
668138 -1.6% 657142 stress-ng.affinity.ops_per_sec
--
21230 ± 4% -0.9% 21047 ± 2% stress-ng.inotify.ops
353.14 ± 4% -0.9% 349.88 ± 2% stress-ng.inotify.ops_per_sec
--
23250444 ± 2% +1.6% 23627954 stress-ng.fault.ops
387495 ± 2% +1.6% 393795 stress-ng.fault.ops_per_sec
--
3.94e+08 -0.2% 3.933e+08 stress-ng.sem.ops
6567438 -0.2% 6555371 stress-ng.sem.ops_per_sec
--
698544 -0.0% 698480 stress-ng.session.ops
11494 +0.0% 11495 stress-ng.session.ops_per_sec
>
> This is a follow up to V3 which can be found here:
>
> https://lore.kernel.org/r/20210618141823.161158090@linutronix.de
>
> Changes vs. V3:
>
> - Dropped the two bugfixes which are applied already and rebased on top
>
> - Addressed review comments (Andy, Boris)
>
> Patches: 13, 35, 36, 37, 46, 58, 62, 63
>
> - Fixed the math-emu fallout which I had stashed safely on the 32bit
> testbox (Boris)
>
> Patch: 28
>
> - Picked up tags
>
> Thanks to everyone for review, feedback and testing (various teams
> @Intel).
>
> Note: I've not picked up any tested-by tags. It would be nice to have
> them on this hopefully final version.
>
> Thanks,
>
> tglx
> ---
> arch/x86/events/intel/lbr.c | 6
> arch/x86/include/asm/fpu/internal.h | 202 ++++------
> arch/x86/include/asm/fpu/xstate.h | 78 +++-
> arch/x86/include/asm/pgtable.h | 57 ---
> arch/x86/include/asm/pkeys.h | 9
> arch/x86/include/asm/pkru.h | 62 +++
> arch/x86/include/asm/processor.h | 9
> arch/x86/include/asm/special_insns.h | 14
> arch/x86/kernel/cpu/common.c | 34 -
> arch/x86/kernel/fpu/core.c | 282 +++++++--------
> arch/x86/kernel/fpu/init.c | 15
> arch/x86/kernel/fpu/regset.c | 223 ++++++------
> arch/x86/kernel/fpu/signal.c | 419 ++++++++++------------
> arch/x86/kernel/fpu/xstate.c | 645 +++++++++++++----------------------
> arch/x86/kernel/process.c | 22 +
> arch/x86/kernel/process_64.c | 28 +
> arch/x86/kernel/traps.c | 5
> arch/x86/kvm/svm/sev.c | 1
> arch/x86/kvm/x86.c | 56 +--
> arch/x86/math-emu/fpu_proto.h | 2
> arch/x86/math-emu/load_store.c | 2
> arch/x86/math-emu/reg_ld_str.c | 2
> arch/x86/mm/extable.c | 2
> arch/x86/mm/fault.c | 2
> arch/x86/mm/pkeys.c | 22 -
> include/linux/pkeys.h | 4
> 26 files changed, 1037 insertions(+), 1166 deletions(-)
>
>
prev parent reply other threads:[~2021-06-25 14:34 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-23 12:01 [patch V4 00/65] x86/fpu: Spring cleaning and PKRU sanitizing Thomas Gleixner
2021-06-23 12:01 ` [patch V4 01/65] x86/fpu: Fix copy_xstate_to_kernel() gap handling Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 02/65] x86/pkeys: Revert a5eff7259790 ("x86/pkeys: Add PKRU value to init_fpstate") Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 03/65] x86/fpu: Mark various FPU states __ro_after_init Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] x86/fpu: Mark various FPU state variables __ro_after_init tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 04/65] x86/fpu: Make xfeatures_mask_all __ro_after_init Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 05/65] x86/fpu: Get rid of fpu__get_supported_xfeatures_mask() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 06/65] x86/fpu: Remove unused get_xsave_field_ptr() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 07/65] x86/fpu: Move inlines where they belong Thomas Gleixner
2021-06-23 18:43 ` Bae, Chang Seok
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 08/65] x86/fpu: Limit xstate copy size in xstateregs_set() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 09/65] x86/fpu: Sanitize xstateregs_set() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2022-07-14 4:04 ` [patch V4 09/65] " Andrei Vagin
2022-07-25 17:47 ` Dave Hansen
2022-07-25 17:57 ` Andrei Vagin
2022-07-25 21:26 ` Dave Hansen
2022-07-28 23:32 ` Chang S. Bae
2022-08-05 12:12 ` Andrei Vagin
2022-08-05 18:24 ` Chang S. Bae
2022-08-05 18:35 ` Dave Hansen
2021-06-23 12:01 ` [patch V4 10/65] x86/fpu: Reject invalid MXCSR values in copy_kernel_to_xstate() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 11/65] x86/fpu: Simplify PTRACE_GETREGS code Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Dave Hansen
2021-06-23 12:01 ` [patch V4 12/65] x86/fpu: Rewrite xfpregs_set() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Andy Lutomirski
2021-06-23 12:01 ` [patch V4 13/65] x86/fpu: Fail ptrace() requests that try to set invalid MXCSR values Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Andy Lutomirski
2021-06-23 12:01 ` [patch V4 14/65] x86/fpu: Clean up fpregs_set() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Andy Lutomirski
2021-06-23 12:01 ` [patch V4 15/65] x86/fpu: Make copy_xstate_to_kernel() usable for [x]fpregs_get() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-24 15:09 ` [PATCH] x86/fpu/xstate: Clear xstate header in copy_xstate_to_uabi_buf() again Thomas Gleixner
2021-06-24 15:41 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 16/65] x86/fpu: Use copy_xstate_to_uabi_buf() in xfpregs_get() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 17/65] x86/fpu: Use copy_xstate_to_uabi_buf() in fpregs_get() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 18/65] x86/fpu: Remove fpstate_sanitize_xstate() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 19/65] x86/fpu/regset: Move fpu__read_begin() into regset Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 20/65] x86/fpu: Move fpu__write_begin() to regset Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 21/65] x86/fpu: Get rid of using_compacted_format() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 22/65] x86/kvm: Avoid looking up PKRU in XSAVE buffer Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Dave Hansen
2021-06-23 12:01 ` [patch V4 23/65] x86/fpu: Cleanup arch_set_user_pkey_access() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 24/65] x86/fpu: Get rid of copy_supervisor_to_kernel() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 25/65] x86/fpu: Rename copy_xregs_to_kernel() and copy_kernel_to_xregs() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 26/65] x86/fpu: Rename copy_user_to_xregs() and copy_xregs_to_user() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 27/65] x86/fpu: Rename fxregs related copy functions Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] x86/fpu: Rename fxregs-related " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 28/65] x86/math-emu: Rename frstor() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 29/65] x86/fpu: Rename fregs related copy functions Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] x86/fpu: Rename fregs-related " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 30/65] x86/fpu: Rename xstate copy functions which are related to UABI Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 31/65] x86/fpu: Deduplicate copy_uabi_from_user/kernel_to_xstate() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:01 ` [patch V4 32/65] x86/fpu: Rename copy_fpregs_to_fpstate() to save_fpregs_to_fpstate() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 33/65] x86/fpu: Get rid of the FNSAVE optimization Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 34/65] x86/fpu: Rename copy_kernel_to_fpregs() to restore_fpregs_from_fpstate() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 35/65] x86/fpu: Rename initstate copy functions Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 36/65] x86/fpu: Rename "dynamic" XSTATEs to "independent" Thomas Gleixner
2021-06-23 12:02 ` [patch V4 37/65] x86/fpu/xstate: Sanitize handling of independent features Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 38/65] x86/pkeys: Move read_pkru() and write_pkru() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Dave Hansen
2021-06-23 12:02 ` [patch V4 39/65] x86/fpu: Rename and sanitize fpu__save/copy() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 40/65] x86/cpu: Sanitize X86_FEATURE_OSPKE Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 41/65] x86/pkru: Provide pkru_get_init_value() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 42/65] x86/pkru: Provide pkru_write_default() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 43/65] x86/cpu: Write the default PKRU value when enabling PKE Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 44/65] x86/fpu: Use pkru_write_default() in copy_init_fpstate_to_fpregs() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 45/65] x86/fpu: Rename fpu__clear_all() to fpu_flush_thread() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 46/65] x86/fpu: Clean up the fpu__clear() variants Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Andy Lutomirski
2021-06-23 12:02 ` [patch V4 47/65] x86/fpu: Rename __fpregs_load_activate() to fpregs_restore_userregs() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 48/65] x86/fpu: Move FXSAVE_LEAK quirk info __copy_kernel_to_fpregs() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 49/65] x86/fpu: Rename xfeatures_mask_user() to xfeatures_mask_uabi() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 50/65] x86/fpu: Dont restore PKRU in fpregs_restore_userspace() Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 51/65] x86/fpu: Add PKRU storage outside of task XSAVE buffer Thomas Gleixner
2021-06-23 22:09 ` [tip: x86/fpu] " tip-bot2 for Dave Hansen
2021-06-23 12:02 ` [patch V4 52/65] x86/fpu: Hook up PKRU into ptrace() Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Dave Hansen
2021-06-23 12:02 ` [patch V4 53/65] x86/fpu: Mask PKRU from kernel XRSTOR[S] operations Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 54/65] x86/fpu: Remove PKRU handling from switch_fpu_finish() Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 55/65] x86/fpu: Dont store PKRU in xstate in fpu_reset_fpstate() Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] x86/fpu: Don't " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 56/65] x86/pkru: Remove xstate fiddling from write_pkru() Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 57/65] x86/fpu: Mark init_fpstate __ro_after_init Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 58/65] x86/fpu/signal: Move initial checks into fpu__sig_restore() Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] x86/fpu/signal: Move initial checks into fpu__restore_sig() tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 59/65] x86/fpu/signal: Remove the legacy alignment check Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 60/65] x86/fpu/signal: Sanitize the xstate check on sigframe Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 61/65] x86/fpu/signal: Sanitize copy_user_to_fpregs_zeroing() Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 62/65] x86/fpu/signal: Split out the direct restore code Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 63/65] x86/fpu: Return proper error codes from user access functions Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 64/65] x86/fpu/signal: Handle #PF in the direct restore path Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-23 12:02 ` [patch V4 65/65] x86/fpu/signal: Let xrstor handle the features to init Thomas Gleixner
2021-06-23 22:08 ` [tip: x86/fpu] " tip-bot2 for Thomas Gleixner
2021-06-25 14:50 ` Oliver Sang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210625145041.GA29722@xsang-OptiPlex-9020 \
--to=oliver.sang@intel.com \
--cc=aubrey.li@intel.com \
--cc=beibei.si@intel.com \
--cc=bigeasy@linutronix.de \
--cc=bp@suse.de \
--cc=chang.seok.bae@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=feng.tang@intel.com \
--cc=fenghua.yu@intel.com \
--cc=julie.du@intel.com \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=megha.dey@linux.intel.com \
--cc=peterz@infradead.org \
--cc=philip.li@intel.com \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=yu-cheng.yu@intel.com \
--cc=yujie.liu@intel.com \
--cc=zhengjun.xing@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.