All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Chang S. Bae" <chang.seok.bae@intel.com>
To: linux-crypto@vger.kernel.org, dm-devel@redhat.com,
	herbert@gondor.apana.org.au, ebiggers@kernel.org,
	ardb@kernel.org, x86@kernel.org, luto@kernel.org,
	tglx@linutronix.de, bp@suse.de, dave.hansen@linux.intel.com,
	mingo@kernel.org
Cc: linux-kernel@vger.kernel.org, dan.j.williams@intel.com,
	charishma1.gairuboyina@intel.com, kumar.n.dwarakanath@intel.com,
	ravi.v.shankar@intel.com, chang.seok.bae@intel.com
Subject: [PATCH v5 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction
Date: Wed, 12 Jan 2022 13:12:50 -0800	[thread overview]
Message-ID: <20220112211258.21115-5-chang.seok.bae@intel.com> (raw)
In-Reply-To: <20220112211258.21115-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.

The new instruction loads an internal wrapping key in the
software-inaccessible CPU state. It operates only in kernel mode.

Define struct iwkey to pass the key value.

The kernel will use this function to load a new key at boot time when the
feature is enabled.

Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Cc: x86@kernel.org
Cc: linux-kernel@vger.kernel.org
---
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..df84c83228a1
--- /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 internal 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 68c257a3de0d..3e50d8396ee1 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
@@ -294,6 +295,37 @@ static inline int enqcmds(void __iomem *dst, const void *src)
 	return 0;
 }
 
+/**
+ * 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_cpu_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-crypto@vger.kernel.org, dm-devel@redhat.com,
	herbert@gondor.apana.org.au, ebiggers@kernel.org,
	ardb@kernel.org, x86@kernel.org, luto@kernel.org,
	tglx@linutronix.de, bp@suse.de, dave.hansen@linux.intel.com,
	mingo@kernel.org
Cc: ravi.v.shankar@intel.com, chang.seok.bae@intel.com,
	linux-kernel@vger.kernel.org, kumar.n.dwarakanath@intel.com,
	dan.j.williams@intel.com, charishma1.gairuboyina@intel.com
Subject: [dm-devel] [PATCH v5 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction
Date: Wed, 12 Jan 2022 13:12:50 -0800	[thread overview]
Message-ID: <20220112211258.21115-5-chang.seok.bae@intel.com> (raw)
In-Reply-To: <20220112211258.21115-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.

The new instruction loads an internal wrapping key in the
software-inaccessible CPU state. It operates only in kernel mode.

Define struct iwkey to pass the key value.

The kernel will use this function to load a new key at boot time when the
feature is enabled.

Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Cc: x86@kernel.org
Cc: linux-kernel@vger.kernel.org
---
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..df84c83228a1
--- /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 internal 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 68c257a3de0d..3e50d8396ee1 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
@@ -294,6 +295,37 @@ static inline int enqcmds(void __iomem *dst, const void *src)
 	return 0;
 }
 
+/**
+ * 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_cpu_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


  parent reply	other threads:[~2022-01-12 21:20 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 ` Chang S. Bae [this message]
2022-01-12 21:12   ` [dm-devel] [PATCH v5 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction 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       ` [PATCH v8 04/12] x86/asm: Add a wrapper function for the LOADIWKEY instruction Chang S. Bae
2023-06-03 15:22         ` [dm-devel] " 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=20220112211258.21115-5-chang.seok.bae@intel.com \
    --to=chang.seok.bae@intel.com \
    --cc=ardb@kernel.org \
    --cc=bp@suse.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=herbert@gondor.apana.org.au \
    --cc=kumar.n.dwarakanath@intel.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@kernel.org \
    --cc=ravi.v.shankar@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: link
Be 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.