Commit 145e9e0d authored by Andy Lutomirski's avatar Andy Lutomirski Committed by Borislav Petkov
Browse files

x86/fpu: Fail ptrace() requests that try to set invalid MXCSR values



There is no benefit from accepting and silently changing an invalid MXCSR
value supplied via ptrace().  Instead, return -EINVAL on invalid input.

Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210623121452.613614842@linutronix.de
parent 6164331d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -63,8 +63,9 @@ int xfpregs_set(struct task_struct *target, const struct user_regset *regset,
	if (ret)
		return ret;

	/* Mask invalid MXCSR bits (for historical reasons). */
	newstate.mxcsr &= mxcsr_feature_mask;
	/* Do not allow an invalid MXCSR value. */
	if (newstate.mxcsr & ~mxcsr_feature_mask)
		return -EINVAL;

	fpu__prepare_write(fpu);