提交 0dbf68f5 编写于 作者: T Thomas Gleixner 提交者: Lin Wang

x86/fpu: Remove internal.h dependency from fpu/signal.h

mainline inclusion
from mainline-v5.16-rc1
commit 0ae67cc3
category: feature
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I590ZC
CVE: NA

Intel-SIG: commit 0ae67cc3 x86/fpu: Remove internal.h dependency from fpu/signal.h.

--------------------------------

In order to remove internal.h make signal.h independent of it.

Include asm/fpu/xstate.h to fix a missing update_regset_xstate_info()
prototype, which is
Reported-by: Nkernel test robot <lkp@intel.com>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
Signed-off-by: NBorislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211015011539.844565975@linutronix.deSigned-off-by: NLin Wang <lin.x.wang@intel.com>
上级 ef2cb4b6
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
#include <linux/syscalls.h> #include <linux/syscalls.h>
#include <asm/ucontext.h> #include <asm/ucontext.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/fpu/internal.h>
#include <asm/fpu/signal.h> #include <asm/fpu/signal.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/ia32_unistd.h> #include <asm/ia32_unistd.h>
......
...@@ -89,6 +89,9 @@ extern void fpstate_init_soft(struct swregs_state *soft); ...@@ -89,6 +89,9 @@ extern void fpstate_init_soft(struct swregs_state *soft);
static inline void fpstate_init_soft(struct swregs_state *soft) {} static inline void fpstate_init_soft(struct swregs_state *soft) {}
#endif #endif
/* State tracking */
DECLARE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx);
/* fpstate */ /* fpstate */
extern union fpregs_state init_fpstate; extern union fpregs_state init_fpstate;
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
/* /*
* High level FPU state handling functions: * High level FPU state handling functions:
*/ */
extern bool fpu__restore_sig(void __user *buf, int ia32_frame);
extern void fpu__clear_user_states(struct fpu *fpu); extern void fpu__clear_user_states(struct fpu *fpu);
extern int fpu__exception_code(struct fpu *fpu, int trap_nr); extern int fpu__exception_code(struct fpu *fpu, int trap_nr);
...@@ -42,10 +41,4 @@ extern void fpu__init_system(struct cpuinfo_x86 *c); ...@@ -42,10 +41,4 @@ extern void fpu__init_system(struct cpuinfo_x86 *c);
extern void fpu__init_check_bugs(void); extern void fpu__init_check_bugs(void);
extern void fpu__resume_cpu(void); extern void fpu__resume_cpu(void);
extern void restore_fpregs_from_fpstate(union fpregs_state *fpstate, u64 mask);
extern bool copy_fpstate_to_sigframe(void __user *buf, void __user *fp, int size);
DECLARE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx);
#endif /* _ASM_X86_FPU_INTERNAL_H */ #endif /* _ASM_X86_FPU_INTERNAL_H */
...@@ -5,6 +5,11 @@ ...@@ -5,6 +5,11 @@
#ifndef _ASM_X86_FPU_SIGNAL_H #ifndef _ASM_X86_FPU_SIGNAL_H
#define _ASM_X86_FPU_SIGNAL_H #define _ASM_X86_FPU_SIGNAL_H
#include <linux/compat.h>
#include <linux/user.h>
#include <asm/fpu/types.h>
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
# include <uapi/asm/sigcontext.h> # include <uapi/asm/sigcontext.h>
# include <asm/user32.h> # include <asm/user32.h>
...@@ -31,4 +36,12 @@ fpu__alloc_mathframe(unsigned long sp, int ia32_frame, ...@@ -31,4 +36,12 @@ fpu__alloc_mathframe(unsigned long sp, int ia32_frame,
unsigned long fpu__get_fpstate_size(void); unsigned long fpu__get_fpstate_size(void);
extern bool copy_fpstate_to_sigframe(void __user *buf, void __user *fp, int size);
extern void fpu__clear_user_states(struct fpu *fpu);
extern bool fpu__restore_sig(void __user *buf, int ia32_frame);
extern void restore_fpregs_from_fpstate(union fpregs_state *fpstate, u64 mask);
extern bool copy_fpstate_to_sigframe(void __user *buf, void __user *fp, int size);
#endif /* _ASM_X86_FPU_SIGNAL_H */ #endif /* _ASM_X86_FPU_SIGNAL_H */
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <linux/cpu.h> #include <linux/cpu.h>
#include <linux/pagemap.h> #include <linux/pagemap.h>
#include <asm/fpu/internal.h>
#include <asm/fpu/signal.h> #include <asm/fpu/signal.h>
#include <asm/fpu/regset.h> #include <asm/fpu/regset.h>
#include <asm/fpu/xstate.h> #include <asm/fpu/xstate.h>
......
...@@ -29,9 +29,9 @@ ...@@ -29,9 +29,9 @@
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/fpu/internal.h>
#include <asm/fpu/signal.h> #include <asm/fpu/signal.h>
#include <asm/fpu/regset.h> #include <asm/fpu/regset.h>
#include <asm/fpu/xstate.h>
#include <asm/debugreg.h> #include <asm/debugreg.h>
#include <asm/ldt.h> #include <asm/ldt.h>
#include <asm/desc.h> #include <asm/desc.h>
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/ucontext.h> #include <asm/ucontext.h>
#include <asm/fpu/internal.h>
#include <asm/fpu/signal.h> #include <asm/fpu/signal.h>
#include <asm/vdso.h> #include <asm/vdso.h>
#include <asm/mce.h> #include <asm/mce.h>
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
#include <linux/sched/debug.h> #include <linux/sched/debug.h>
#include <xen/xen.h> #include <xen/xen.h>
#include <asm/fpu/internal.h> #include <asm/fpu/signal.h>
#include <asm/fpu/xstate.h>
#include <asm/sev-es.h> #include <asm/sev-es.h>
#include <asm/traps.h> #include <asm/traps.h>
#include <asm/kdebug.h> #include <asm/kdebug.h>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册