mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set
commitd7e5aceaceupstream The hardware XRSTOR instruction resets the PKRU register to its hardware init value (namely 0) if the PKRU bit is not set in the xfeatures mask. Emulating that here restores the pre-5.14 behavior for PTRACE_SET_REGSET with NT_X86_XSTATE, and makes sigreturn (which still uses XRSTOR) and behave identically. Fixes:e84ba47e31("x86/fpu: Hook up PKRU into ptrace()") Signed-off-by: Kyle Huey <me@kylehuey.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Link: https://lore.kernel.org/all/20221115230932.7126-6-khuey%40kylehuey.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3f1c81426a
commit
3c1940c549
@@ -1168,7 +1168,8 @@ static int copy_uabi_to_xstate(struct xregs_state *xsave, const void *kbuf,
|
||||
|
||||
xpkru = __raw_xsave_addr(xsave, XFEATURE_PKRU);
|
||||
*pkru = xpkru->pkru;
|
||||
}
|
||||
} else
|
||||
*pkru = 0;
|
||||
|
||||
/*
|
||||
* The state that came in from userspace was user-state only.
|
||||
|
||||
Reference in New Issue
Block a user