From: "Chang S. Bae" <chang.seok.bae@intel.com> To: linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, dm-devel@redhat.com Cc: ebiggers@kernel.org, elliott@hpe.com, gmazyland@gmail.com, luto@kernel.org, dave.hansen@linux.intel.com, tglx@linutronix.de, bp@alien8.de, mingo@kernel.org, x86@kernel.org, herbert@gondor.apana.org.au, ardb@kernel.org, dan.j.williams@intel.com, bernie.keany@intel.com, charishma1.gairuboyina@intel.com, lalithambika.krishnakumar@intel.com, nhuck@google.com, chang.seok.bae@intel.com, Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, Peter Zijlstra <peterz@infradead.org> Subject: [PATCH v8 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction Date: Sat, 3 Jun 2023 08:22:19 -0700 [thread overview] Message-ID: <20230603152227.12335-5-chang.seok.bae@intel.com> (raw) In-Reply-To: <20230603152227.12335-1-chang.seok.bae@intel.com> Key Locker introduces a CPU-internal wrapping key to encode a user key to a key handle. Then a key handle is referenced instead of the plain text key. LOADIWKEY loads a wrapping key in the software-inaccessible CPU state. It operates only in kernel mode. The kernel will use this to load a new key at boot time. Establish a wrapper to prepare for this use. Also, define struct iwkey to pass the key value to it. Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com> Reviewed-by: Dan Williams <dan.j.williams@intel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org --- Changes from v6: * Massage the changelog -- clarify the reason and the changes a bit. Changes from v5: * Fix a typo: kernel_cpu_begin() -> kernel_fpu_begin() Changes from RFC v2: * Separate out the code as a new patch. * Improve the usability with the new struct as an argument. (Dan Williams) Note, Dan wondered if: WARN_ON(!irq_fpu_usable()); would be appropriate in the load_xmm_iwkey() function. --- arch/x86/include/asm/keylocker.h | 25 ++++++++++++++++++++++ arch/x86/include/asm/special_insns.h | 32 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 arch/x86/include/asm/keylocker.h diff --git a/arch/x86/include/asm/keylocker.h b/arch/x86/include/asm/keylocker.h new file mode 100644 index 000000000000..9b3bec452b31 --- /dev/null +++ b/arch/x86/include/asm/keylocker.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef _ASM_KEYLOCKER_H +#define _ASM_KEYLOCKER_H + +#ifndef __ASSEMBLY__ + +#include <asm/fpu/types.h> + +/** + * struct iwkey - A temporary wrapping key storage. + * @integrity_key: A 128-bit key to check that key handles have not + * been tampered with. + * @encryption_key: A 256-bit encryption key used in + * wrapping/unwrapping a clear text key. + * + * This storage should be flushed immediately after loaded. + */ +struct iwkey { + struct reg_128_bit integrity_key; + struct reg_128_bit encryption_key[2]; +}; + +#endif /*__ASSEMBLY__ */ +#endif /* _ASM_KEYLOCKER_H */ diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h index de48d1389936..dd2d8b40fce3 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -9,6 +9,7 @@ #include <asm/processor-flags.h> #include <linux/irqflags.h> #include <linux/jump_label.h> +#include <asm/keylocker.h> /* * The compiler should not reorder volatile asm statements with respect to each @@ -283,6 +284,37 @@ static __always_inline void tile_release(void) asm volatile(".byte 0xc4, 0xe2, 0x78, 0x49, 0xc0"); } +/** + * load_xmm_iwkey - Load a CPU-internal wrapping key + * @key: A struct iwkey pointer. + * + * Load @key to XMMs then do LOADIWKEY. After this, flush XMM + * registers. Caller is responsible for kernel_fpu_begin(). + */ +static inline void load_xmm_iwkey(struct iwkey *key) +{ + struct reg_128_bit zeros = { 0 }; + + asm volatile ("movdqu %0, %%xmm0; movdqu %1, %%xmm1; movdqu %2, %%xmm2;" + :: "m"(key->integrity_key), "m"(key->encryption_key[0]), + "m"(key->encryption_key[1])); + + /* + * LOADIWKEY %xmm1,%xmm2 + * + * EAX and XMM0 are implicit operands. Load a key value + * from XMM0-2 to a software-invisible CPU state. With zero + * in EAX, CPU does not do hardware randomization and the key + * backup is allowed. + * + * This instruction is supported by binutils >= 2.36. + */ + asm volatile (".byte 0xf3,0x0f,0x38,0xdc,0xd1" :: "a"(0)); + + asm volatile ("movdqu %0, %%xmm0; movdqu %0, %%xmm1; movdqu %0, %%xmm2;" + :: "m"(zeros)); +} + #endif /* __KERNEL__ */ #endif /* _ASM_X86_SPECIAL_INSNS_H */ -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: "Chang S. Bae" <chang.seok.bae@intel.com> To: linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, dm-devel@redhat.com Cc: x86@kernel.org, herbert@gondor.apana.org.au, ardb@kernel.org, chang.seok.bae@intel.com, dave.hansen@linux.intel.com, dan.j.williams@intel.com, mingo@kernel.org, ebiggers@kernel.org, lalithambika.krishnakumar@intel.com, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, bp@alien8.de, charishma1.gairuboyina@intel.com, luto@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, bernie.keany@intel.com, tglx@linutronix.de, nhuck@google.com, "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, gmazyland@gmail.com, elliott@hpe.com Subject: [dm-devel] [PATCH v8 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction Date: Sat, 3 Jun 2023 08:22:19 -0700 [thread overview] Message-ID: <20230603152227.12335-5-chang.seok.bae@intel.com> (raw) In-Reply-To: <20230603152227.12335-1-chang.seok.bae@intel.com> Key Locker introduces a CPU-internal wrapping key to encode a user key to a key handle. Then a key handle is referenced instead of the plain text key. LOADIWKEY loads a wrapping key in the software-inaccessible CPU state. It operates only in kernel mode. The kernel will use this to load a new key at boot time. Establish a wrapper to prepare for this use. Also, define struct iwkey to pass the key value to it. Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com> Reviewed-by: Dan Williams <dan.j.williams@intel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org --- Changes from v6: * Massage the changelog -- clarify the reason and the changes a bit. Changes from v5: * Fix a typo: kernel_cpu_begin() -> kernel_fpu_begin() Changes from RFC v2: * Separate out the code as a new patch. * Improve the usability with the new struct as an argument. (Dan Williams) Note, Dan wondered if: WARN_ON(!irq_fpu_usable()); would be appropriate in the load_xmm_iwkey() function. --- arch/x86/include/asm/keylocker.h | 25 ++++++++++++++++++++++ arch/x86/include/asm/special_insns.h | 32 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 arch/x86/include/asm/keylocker.h diff --git a/arch/x86/include/asm/keylocker.h b/arch/x86/include/asm/keylocker.h new file mode 100644 index 000000000000..9b3bec452b31 --- /dev/null +++ b/arch/x86/include/asm/keylocker.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef _ASM_KEYLOCKER_H +#define _ASM_KEYLOCKER_H + +#ifndef __ASSEMBLY__ + +#include <asm/fpu/types.h> + +/** + * struct iwkey - A temporary wrapping key storage. + * @integrity_key: A 128-bit key to check that key handles have not + * been tampered with. + * @encryption_key: A 256-bit encryption key used in + * wrapping/unwrapping a clear text key. + * + * This storage should be flushed immediately after loaded. + */ +struct iwkey { + struct reg_128_bit integrity_key; + struct reg_128_bit encryption_key[2]; +}; + +#endif /*__ASSEMBLY__ */ +#endif /* _ASM_KEYLOCKER_H */ diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h index de48d1389936..dd2d8b40fce3 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -9,6 +9,7 @@ #include <asm/processor-flags.h> #include <linux/irqflags.h> #include <linux/jump_label.h> +#include <asm/keylocker.h> /* * The compiler should not reorder volatile asm statements with respect to each @@ -283,6 +284,37 @@ static __always_inline void tile_release(void) asm volatile(".byte 0xc4, 0xe2, 0x78, 0x49, 0xc0"); } +/** + * load_xmm_iwkey - Load a CPU-internal wrapping key + * @key: A struct iwkey pointer. + * + * Load @key to XMMs then do LOADIWKEY. After this, flush XMM + * registers. Caller is responsible for kernel_fpu_begin(). + */ +static inline void load_xmm_iwkey(struct iwkey *key) +{ + struct reg_128_bit zeros = { 0 }; + + asm volatile ("movdqu %0, %%xmm0; movdqu %1, %%xmm1; movdqu %2, %%xmm2;" + :: "m"(key->integrity_key), "m"(key->encryption_key[0]), + "m"(key->encryption_key[1])); + + /* + * LOADIWKEY %xmm1,%xmm2 + * + * EAX and XMM0 are implicit operands. Load a key value + * from XMM0-2 to a software-invisible CPU state. With zero + * in EAX, CPU does not do hardware randomization and the key + * backup is allowed. + * + * This instruction is supported by binutils >= 2.36. + */ + asm volatile (".byte 0xf3,0x0f,0x38,0xdc,0xd1" :: "a"(0)); + + asm volatile ("movdqu %0, %%xmm0; movdqu %0, %%xmm1; movdqu %0, %%xmm2;" + :: "m"(zeros)); +} + #endif /* __KERNEL__ */ #endif /* _ASM_X86_SPECIAL_INSNS_H */ -- 2.17.1 -- dm-devel mailing list dm-devel@redhat.com https://listman.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2023-06-03 15:35 UTC|newest] Thread overview: 247+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-12 21:12 [PATCH v5 00/12] x86: Support Key Locker Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 01/12] Documentation/x86: Document " Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2023-06-05 10:52 ` Bagas Sanjaya 2023-06-05 10:52 ` [dm-devel] " Bagas Sanjaya 2022-01-12 21:12 ` [PATCH v5 02/12] x86/cpufeature: Enumerate Key Locker feature Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 03/12] x86/insn: Add Key Locker instructions to the opcode map Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 05/12] x86/msr-index: Add MSRs for Key Locker internal wrapping key Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 06/12] x86/keylocker: Define Key Locker CPUID leaf Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 07/12] x86/cpu/keylocker: Load an internal wrapping key at boot-time Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-08-23 15:49 ` Evan Green 2022-08-23 15:49 ` [dm-devel] " Evan Green 2022-08-24 22:20 ` Chang S. Bae 2022-08-24 22:20 ` [dm-devel] " Chang S. Bae 2022-08-24 22:52 ` Evan Green 2022-08-24 22:52 ` [dm-devel] " Evan Green 2022-08-25 1:06 ` Chang S. Bae 2022-08-25 1:06 ` [dm-devel] " Chang S. Bae 2022-08-25 15:31 ` Evan Green 2022-08-25 15:31 ` [dm-devel] " Evan Green 2022-08-31 23:08 ` Chang S. Bae 2022-08-31 23:08 ` [dm-devel] " Chang S. Bae 2022-09-06 16:22 ` Evan Green 2022-09-06 16:22 ` [dm-devel] " Evan Green 2022-09-06 16:46 ` Chang S. Bae 2022-09-06 16:46 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 08/12] x86/PM/keylocker: Restore internal wrapping key on resume from ACPI S3/4 Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-29 17:31 ` [PATCH v5-fix " Chang S. Bae 2022-01-29 17:31 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 09/12] x86/cpu: Add a configuration and command line option for Key Locker Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 10/12] crypto: x86/aes - Prepare for a new AES implementation Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 11/12] crypto: x86/aes-kl - Support AES algorithm using Key Locker instructions Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-12 21:12 ` [PATCH v5 12/12] crypto: x86/aes-kl - Support XTS mode Chang S. Bae 2022-01-12 21:12 ` [dm-devel] " Chang S. Bae 2022-01-13 22:16 ` [PATCH v5 00/12] x86: Support Key Locker Dave Hansen 2022-01-13 22:16 ` [dm-devel] " Dave Hansen 2022-01-13 22:34 ` Bae, Chang Seok 2022-01-13 22:34 ` [dm-devel] " Bae, Chang Seok 2023-04-10 22:59 ` [PATCH v6 " Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 01/12] Documentation/x86: Document " Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 02/12] x86/cpufeature: Enumerate Key Locker feature Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 03/12] x86/insn: Add Key Locker instructions to the opcode map Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 05/12] x86/msr-index: Add MSRs for Key Locker internal wrapping key Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 06/12] x86/keylocker: Define Key Locker CPUID leaf Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 07/12] x86/cpu/keylocker: Load an internal wrapping key at boot-time Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-05-05 23:05 ` Eric Biggers 2023-05-05 23:05 ` [dm-devel] " Eric Biggers 2023-05-08 18:18 ` Chang S. Bae 2023-05-08 18:18 ` [dm-devel] " Chang S. Bae 2023-05-08 21:56 ` Dave Hansen 2023-05-08 21:56 ` [dm-devel] " Dave Hansen 2023-05-09 0:31 ` Chang S. Bae 2023-05-09 0:31 ` [dm-devel] " Chang S. Bae 2023-05-09 0:51 ` Dave Hansen 2023-05-09 0:51 ` [dm-devel] " Dave Hansen 2023-05-08 19:18 ` Elliott, Robert (Servers) 2023-05-08 19:18 ` [dm-devel] " Elliott, Robert (Servers) 2023-05-08 20:15 ` Chang S. Bae 2023-05-08 20:15 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 08/12] x86/PM/keylocker: Restore internal wrapping key on resume from ACPI S3/4 Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-05-05 23:09 ` Eric Biggers 2023-05-05 23:09 ` [dm-devel] " Eric Biggers 2023-05-08 18:18 ` Chang S. Bae 2023-05-08 18:18 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 09/12] x86/cpu: Add a configuration and command line option for Key Locker Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 10/12] crypto: x86/aes - Prepare for a new AES implementation Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-05-05 23:27 ` Eric Biggers 2023-05-05 23:27 ` [dm-devel] " Eric Biggers 2023-05-09 0:55 ` Chang S. Bae 2023-05-09 0:55 ` [dm-devel] " Chang S. Bae 2023-05-11 19:05 ` Chang S. Bae 2023-05-11 19:05 ` [dm-devel] " Chang S. Bae 2023-05-11 21:39 ` Eric Biggers 2023-05-11 21:39 ` [dm-devel] " Eric Biggers 2023-05-11 23:19 ` Chang S. Bae 2023-05-11 23:19 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 11/12] crypto: x86/aes-kl - Support AES algorithm using Key Locker instructions Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-05-06 0:01 ` Eric Biggers 2023-05-06 0:01 ` [dm-devel] " Eric Biggers 2023-05-08 18:18 ` Chang S. Bae 2023-05-08 18:18 ` [dm-devel] " Chang S. Bae 2023-05-24 17:18 ` Chang S. Bae 2023-05-24 17:18 ` [dm-devel] " Chang S. Bae 2023-05-12 17:52 ` Milan Broz 2023-05-12 17:52 ` [dm-devel] " Milan Broz 2023-05-08 19:21 ` Elliott, Robert (Servers) 2023-05-08 19:21 ` [dm-devel] " Elliott, Robert (Servers) 2023-05-08 19:24 ` Elliott, Robert (Servers) 2023-05-08 19:24 ` [dm-devel] " Elliott, Robert (Servers) 2023-05-08 20:00 ` Chang S. Bae 2023-05-08 20:00 ` [dm-devel] " Chang S. Bae 2023-04-10 22:59 ` [PATCH v6 12/12] crypto: x86/aes-kl - Support XTS mode Chang S. Bae 2023-04-10 22:59 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 00/12] x86: Support Key Locker Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 01/12] Documentation/x86: Document " Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 02/12] x86/cpufeature: Enumerate Key Locker feature Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 03/12] x86/insn: Add Key Locker instructions to the opcode map Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 05/12] x86/msr-index: Add MSRs for Key Locker wrapping key Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 06/12] x86/keylocker: Define Key Locker CPUID leaf Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 07/12] x86/cpu/keylocker: Load a wrapping key at boot-time Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 08/12] x86/PM/keylocker: Restore the wrapping key on the resume from ACPI S3/4 Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 09/12] x86/cpu: Add a configuration and command line option for Key Locker Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 10/12] crypto: x86/aesni - Use the proper data type in struct aesni_xts_ctx Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-26 6:54 ` Eric Biggers 2023-05-26 6:54 ` [dm-devel] " Eric Biggers 2023-05-30 20:50 ` Chang S. Bae 2023-05-30 20:50 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [PATCH v7 11/12] crypto: x86/aes - Prepare for a new AES implementation Chang S. Bae 2023-05-24 16:57 ` [dm-devel] " Chang S. Bae 2023-05-24 16:57 ` [dm-devel] [PATCH v7 12/12] crypto: x86/aes-kl - Implement the AES-XTS algorithm Chang S. Bae 2023-05-24 16:57 ` Chang S. Bae 2023-05-26 7:23 ` Eric Biggers 2023-05-26 7:23 ` [dm-devel] " Eric Biggers 2023-05-30 20:49 ` Chang S. Bae 2023-05-30 20:49 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 00/12] x86: Support Key Locker Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 01/12] Documentation/x86: Document " Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-05 10:54 ` Bagas Sanjaya 2023-06-05 10:54 ` [dm-devel] " Bagas Sanjaya 2023-06-06 2:17 ` Randy Dunlap 2023-06-06 2:17 ` [dm-devel] " Randy Dunlap 2023-06-06 4:18 ` Chang S. Bae 2023-06-06 4:18 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 02/12] x86/cpufeature: Enumerate Key Locker feature Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 03/12] x86/insn: Add Key Locker instructions to the opcode map Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` Chang S. Bae [this message] 2023-06-03 15:22 ` [dm-devel] [PATCH v8 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 05/12] x86/msr-index: Add MSRs for Key Locker wrapping key Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 06/12] x86/keylocker: Define Key Locker CPUID leaf Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 07/12] x86/cpu/keylocker: Load a wrapping key at boot-time Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 08/12] x86/PM/keylocker: Restore the wrapping key on the resume from ACPI S3/4 Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 09/12] x86/cpu: Add a configuration and command line option for Key Locker Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 16:37 ` Borislav Petkov 2023-06-03 16:37 ` [dm-devel] " Borislav Petkov 2023-06-04 22:13 ` Chang S. Bae 2023-06-04 22:13 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 10/12] crypto: x86/aesni - Use the proper data type in struct aesni_xts_ctx Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-04 15:34 ` Eric Biggers 2023-06-04 15:34 ` [dm-devel] " Eric Biggers 2023-06-04 22:02 ` Chang S. Bae 2023-06-04 22:02 ` [dm-devel] " Chang S. Bae 2023-06-05 2:46 ` Eric Biggers 2023-06-05 2:46 ` [dm-devel] " Eric Biggers 2023-06-05 4:41 ` Chang S. Bae 2023-06-05 4:41 ` Chang S. Bae 2023-06-21 12:06 ` [PATCH] crypto: x86/aesni: Align the address before aes_set_key_common() Chang S. Bae 2023-07-14 8:51 ` Herbert Xu 2023-06-03 15:22 ` [PATCH v8 11/12] crypto: x86/aes - Prepare for a new AES-XTS implementation Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-03 15:22 ` [PATCH v8 12/12] crypto: x86/aes-kl - Implement the AES-XTS algorithm Chang S. Bae 2023-06-03 15:22 ` [dm-devel] " Chang S. Bae 2023-06-07 5:35 ` Eric Biggers 2023-06-07 5:35 ` [dm-devel] " Eric Biggers 2023-06-07 22:06 ` Chang S. Bae 2023-06-07 22:06 ` [dm-devel] " Chang S. Bae 2024-03-11 21:32 ` [PATCH] crypto: x86/aesni - Update aesni_set_key() to return void Chang S. Bae 2024-03-12 2:15 ` Eric Biggers 2024-03-12 7:46 ` Ard Biesheuvel 2024-03-12 15:03 ` Chang S. Bae 2024-03-12 15:18 ` Ard Biesheuvel 2024-03-12 15:37 ` Chang S. Bae 2024-03-22 23:04 ` [PATCH v2 0/2] crypto: x86/aesni - Simplify AES key expansion code Chang S. Bae 2024-03-22 23:04 ` [PATCH v2 1/2] crypto: x86/aesni - Rearrange AES key size check Chang S. Bae 2024-03-22 23:04 ` [PATCH v2 2/2] crypto: x86/aesni - Update aesni_set_key() to return void Chang S. Bae 2024-03-28 10:57 ` [PATCH v2 0/2] crypto: x86/aesni - Simplify AES key expansion code Herbert Xu 2024-03-29 1:53 ` [PATCH v9 00/14] x86: Support Key Locker Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 01/14] Documentation/x86: Document " Chang S. Bae 2024-03-31 15:48 ` Randy Dunlap 2024-03-29 1:53 ` [PATCH v9 02/14] x86/cpufeature: Enumerate Key Locker feature Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 03/14] x86/insn: Add Key Locker instructions to the opcode map Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 04/14] x86/asm: Add a wrapper function for the LOADIWKEY instruction Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 05/14] x86/msr-index: Add MSRs for Key Locker wrapping key Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 06/14] x86/keylocker: Define Key Locker CPUID leaf Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 07/14] x86/cpu/keylocker: Load a wrapping key at boot time Chang S. Bae 2024-04-07 23:04 ` [PATCH v9a " Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 08/14] x86/PM/keylocker: Restore the wrapping key on the resume from ACPI S3/4 Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 09/14] x86/hotplug/keylocker: Ensure wrapping key backup capability Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 10/14] x86/cpu/keylocker: Check Gather Data Sampling mitigation Chang S. Bae 2024-03-29 6:57 ` Pawan Gupta 2024-04-07 23:04 ` [PATCH v9a " Chang S. Bae 2024-04-19 0:01 ` Pawan Gupta 2024-04-22 7:49 ` Chang S. Bae 2024-04-19 17:47 ` [PATCH 15/14] x86/gds: Lock GDS mitigation when keylocker feature is present Pawan Gupta 2024-04-19 18:03 ` Daniel Sneddon 2024-04-19 20:19 ` Pawan Gupta 2024-04-19 20:33 ` Daniel Sneddon 2024-04-22 7:35 ` Chang S. Bae 2024-04-22 21:32 ` Pawan Gupta 2024-04-22 22:13 ` Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 11/14] x86/cpu/keylocker: Check Register File Data Sampling mitigation Chang S. Bae 2024-03-29 6:20 ` Pawan Gupta 2024-04-07 23:04 ` [PATCH v9a " Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 12/14] x86/Kconfig: Add a configuration for Key Locker Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 13/14] crypto: x86/aes - Prepare for new AES-XTS implementation Chang S. Bae 2024-03-29 1:53 ` [PATCH v9 14/14] crypto: x86/aes-kl - Implement the AES-XTS algorithm Chang S. Bae 2024-04-07 23:24 ` [PATCH v9 00/14] x86: Support Key Locker Chang S. Bae 2024-04-08 1:48 ` Eric Biggers 2024-04-15 22:16 ` Chang S. Bae 2024-04-15 22:54 ` Eric Biggers 2024-04-15 22:58 ` Chang S. Bae
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230603152227.12335-5-chang.seok.bae@intel.com \ --to=chang.seok.bae@intel.com \ --cc=ardb@kernel.org \ --cc=bernie.keany@intel.com \ --cc=bp@alien8.de \ --cc=charishma1.gairuboyina@intel.com \ --cc=dan.j.williams@intel.com \ --cc=dave.hansen@linux.intel.com \ --cc=dm-devel@redhat.com \ --cc=ebiggers@kernel.org \ --cc=elliott@hpe.com \ --cc=gmazyland@gmail.com \ --cc=herbert@gondor.apana.org.au \ --cc=hpa@zytor.com \ --cc=lalithambika.krishnakumar@intel.com \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=luto@kernel.org \ --cc=mingo@kernel.org \ --cc=mingo@redhat.com \ --cc=nhuck@google.com \ --cc=peterz@infradead.org \ --cc=rafael.j.wysocki@intel.com \ --cc=tglx@linutronix.de \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.