On Thu, 3 Dec 2015, Dave Hansen wrote: > > From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > > We want to modify the Protection Key rights inside the kernel, so > we need to change PKRU's contents. But, if we do a plain > 'wrpkru', when we return to userspace we might do an XRSTOR and > wipe out the kernel's 'wrpkru'. So, we need to go after PKRU in > the xsave buffer. > > We do this by: > 1. Ensuring that we have the XSAVE registers (fpregs) in the > kernel FPU buffer (fpstate) > 2. Looking up the location of a given state in the buffer > 3. Filling in the stat > 4. Ensuring that the hardware knows that state is present there > (basically that the 'init optimization' is not in place). > 5. Copying the newly-modified state back to the registers if > necessary. > > Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>