diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2020-02-18 12:14:34 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2020-07-27 14:31:07 -0400 |
commit | 0557d64d983e3dedead2d4b4e8abc49620d5f5d2 (patch) | |
tree | 443afb37b0f11b5a72ae574b5b19ea234a0074e5 /arch/x86/kernel/tls.h | |
parent | 7717cb9bdd0421faa432a4e0d499fdba6e2394c8 (diff) | |
download | lwn-0557d64d983e3dedead2d4b4e8abc49620d5f5d2.tar.gz lwn-0557d64d983e3dedead2d4b4e8abc49620d5f5d2.zip |
x86: switch to ->regset_get()
All instances of ->get() in arch/x86 switched; that might or might
not be worth splitting up. Notes:
* for xstateregs_get() the amount we want to store is determined at
the boot time; see init_xstate_size() and update_regset_xstate_info() for
details. task->thread.fpu.state.xsave ends with a flexible array member and
the amount of data in it depends upon the FPU features supported/enabled.
* fpregs_get() writes slightly less than full ->thread.fpu.state.fsave
(the last word is not copied); we pass the full size of state.fsave and let
membuf_write() trim to the amount declared by regset - __regset_get() will
make sure that the space in buffer is no more than that.
* copy_xstate_to_user() and its helpers are gone now.
* fpregs_soft_get() was getting user_regset_copyout() arguments
wrong. Since "x86: x86 user_regset math_emu" back in 2008... I really
doubt that it's worth splitting out for -stable, though - you need
a 486SX box for that to trigger...
[Kevin's braino fix for copy_xstate_to_kernel() essentially duplicated here]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/x86/kernel/tls.h')
-rw-r--r-- | arch/x86/kernel/tls.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/tls.h b/arch/x86/kernel/tls.h index 3a76e1d3535e..fc39447a0c1a 100644 --- a/arch/x86/kernel/tls.h +++ b/arch/x86/kernel/tls.h @@ -12,7 +12,7 @@ #include <linux/regset.h> extern user_regset_active_fn regset_tls_active; -extern user_regset_get_fn regset_tls_get; +extern user_regset_get2_fn regset_tls_get; extern user_regset_set_fn regset_tls_set; #endif /* _ARCH_X86_KERNEL_TLS_H */ |