summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2021-10-15 03:16:02 +0200
committerBorislav Petkov <bp@suse.de>2021-10-20 15:27:26 +0200
commit01f9f62d3ae75077a54a11d2777082f1e58e2d9f (patch)
treef5334391c0d71d0b0a56f99f469aeb0e35cecad7
parentx86/fpu: Cleanup the on_boot_cpu clutter (diff)
downloadlinux-01f9f62d3ae75077a54a11d2777082f1e58e2d9f.tar.xz
linux-01f9f62d3ae75077a54a11d2777082f1e58e2d9f.zip
x86/fpu: Remove pointless memset in fpu_clone()
Zeroing the forked task's FPU registers buffer to avoid leaking init optimized stale data into the clone is a pointless exercise for the case where the current task has TIF_NEED_FPU_LOAD set. In that case, the FPU registers state is copied from current's FPU register buffer which can contain stale init optimized data as well. The alledged information leak is non-existant because this stale init optimized data is used nowhere and cannot leak anywhere. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20211015011538.722854569@linutronix.de
-rw-r--r--arch/x86/kernel/fpu/core.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index 7ada7bd03a32..191269edac97 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -260,12 +260,6 @@ int fpu_clone(struct task_struct *dst)
return 0;
/*
- * Don't let 'init optimized' areas of the XSAVE area
- * leak into the child task:
- */
- memset(&dst_fpu->state.xsave, 0, fpu_kernel_xstate_size);
-
- /*
* If the FPU registers are not owned by current just memcpy() the
* state. Otherwise save the FPU registers directly into the
* child's FPU context, without any memory-to-memory copying.