summaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig.assembler
diff options
context:
space:
mode:
authorAruna Ramakrishna <aruna.ramakrishna@oracle.com>2024-08-02 08:13:16 +0200
committerThomas Gleixner <tglx@linutronix.de>2024-08-02 14:12:21 +0200
commit70044df250d022572e26cd301bddf75eac1fe50e (patch)
tree934493b8f1a7a062721f260a7d7e83ebd81e0c7d /arch/x86/Kconfig.assembler
parentx86/pkeys: Add helper functions to update PKRU on the sigframe (diff)
downloadlinux-70044df250d022572e26cd301bddf75eac1fe50e.tar.xz
linux-70044df250d022572e26cd301bddf75eac1fe50e.zip
x86/pkeys: Update PKRU to enable all pkeys before XSAVE
If the alternate signal stack is protected by a different PKEY than the current execution stack, copying XSAVE data to the sigaltstack will fail if its PKEY is not enabled in the PKRU register. It's unknown which pkey was used by the application for the altstack, so enable all PKEYS before XSAVE. But this updated PKRU value is also pushed onto the sigframe, which means the register value restored from sigcontext will be different from the user-defined one, which is incorrect. Fix that by overwriting the PKRU value on the sigframe with the original, user-defined PKRU. Signed-off-by: Aruna Ramakrishna <aruna.ramakrishna@oracle.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20240802061318.2140081-4-aruna.ramakrishna@oracle.com
Diffstat (limited to 'arch/x86/Kconfig.assembler')
0 files changed, 0 insertions, 0 deletions