From: Ross Philipson <ross.philipson@oracle.com> To: linux-kernel@vger.kernel.org, x86@kernel.org, linux-integrity@vger.kernel.org, linux-doc@vger.kernel.org, linux-crypto@vger.kernel.org, iommu@lists.linux-foundation.org, kexec@lists.infradead.org, linux-efi@vger.kernel.org Cc: ross.philipson@oracle.com, dpsmith@apertussolutions.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, ardb@kernel.org, mjg59@srcf.ucam.org, James.Bottomley@hansenpartnership.com, luto@amacapital.net, nivedita@alum.mit.edu, kanth.ghatraju@oracle.com, trenchboot-devel@googlegroups.com Subject: [PATCH v6 06/14] x86: Add early SHA support for Secure Launch early measurements Date: Thu, 4 May 2023 14:50:15 +0000 [thread overview] Message-ID: <20230504145023.835096-7-ross.philipson@oracle.com> (raw) In-Reply-To: <20230504145023.835096-1-ross.philipson@oracle.com> From: "Daniel P. Smith" <dpsmith@apertussolutions.com> The SHA algorithms are necessary to measure configuration information into the TPM as early as possible before using the values. This implementation uses the established approach of #including the SHA libraries directly in the code since the compressed kernel is not uncompressed at this point. The SHA code here has its origins in the code from the main kernel: commit c4d5b9ffa31f ("crypto: sha1 - implement base layer for SHA-1") That code could not be pulled directly into the setup portion of the compressed kernel because of other dependencies it pulls in. The result is this is a modified copy of that code that still leverages the core SHA algorithms. Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com> Signed-off-by: Ross Philipson <ross.philipson@oracle.com> --- arch/x86/boot/compressed/Makefile | 2 + arch/x86/boot/compressed/early_sha1.c | 97 +++++++++++++++++++++++++++++++++ arch/x86/boot/compressed/early_sha1.h | 17 ++++++ arch/x86/boot/compressed/early_sha256.c | 7 +++ lib/crypto/sha1.c | 4 ++ lib/crypto/sha256.c | 8 +++ 6 files changed, 135 insertions(+) create mode 100644 arch/x86/boot/compressed/early_sha1.c create mode 100644 arch/x86/boot/compressed/early_sha1.h create mode 100644 arch/x86/boot/compressed/early_sha256.c diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile index 6b6cfe6..1d327d4 100644 --- a/arch/x86/boot/compressed/Makefile +++ b/arch/x86/boot/compressed/Makefile @@ -112,6 +112,8 @@ vmlinux-objs-$(CONFIG_EFI) += $(obj)/efi.o vmlinux-objs-$(CONFIG_EFI_MIXED) += $(obj)/efi_mixed.o vmlinux-objs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a +vmlinux-objs-$(CONFIG_SECURE_LAUNCH) += $(obj)/early_sha1.o $(obj)/early_sha256.o + $(obj)/vmlinux: $(vmlinux-objs-y) FORCE $(call if_changed,ld) diff --git a/arch/x86/boot/compressed/early_sha1.c b/arch/x86/boot/compressed/early_sha1.c new file mode 100644 index 0000000..524ec23 --- /dev/null +++ b/arch/x86/boot/compressed/early_sha1.c @@ -0,0 +1,97 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2022 Apertus Solutions, LLC. + */ + +#include <linux/init.h> +#include <linux/linkage.h> +#include <linux/string.h> +#include <asm/boot.h> +#include <asm/unaligned.h> + +#include "early_sha1.h" + +#define SHA1_DISABLE_EXPORT +#include "../../../../lib/crypto/sha1.c" + +/* The SHA1 implementation in lib/sha1.c was written to get the workspace + * buffer as a parameter. This wrapper function provides a container + * around a temporary workspace that is cleared after the transform completes. + */ +static void __sha_transform(u32 *digest, const char *data) +{ + u32 ws[SHA1_WORKSPACE_WORDS]; + + sha1_transform(digest, data, ws); + + memzero_explicit(ws, sizeof(ws)); +} + +void early_sha1_init(struct sha1_state *sctx) +{ + sha1_init(sctx->state); + sctx->count = 0; +} + +void early_sha1_update(struct sha1_state *sctx, + const u8 *data, + unsigned int len) +{ + unsigned int partial = sctx->count % SHA1_BLOCK_SIZE; + + sctx->count += len; + + if (likely((partial + len) >= SHA1_BLOCK_SIZE)) { + int blocks; + + if (partial) { + int p = SHA1_BLOCK_SIZE - partial; + + memcpy(sctx->buffer + partial, data, p); + data += p; + len -= p; + + __sha_transform(sctx->state, sctx->buffer); + } + + blocks = len / SHA1_BLOCK_SIZE; + len %= SHA1_BLOCK_SIZE; + + if (blocks) { + while (blocks--) { + __sha_transform(sctx->state, data); + data += SHA1_BLOCK_SIZE; + } + } + partial = 0; + } + + if (len) + memcpy(sctx->buffer + partial, data, len); +} + +void early_sha1_final(struct sha1_state *sctx, u8 *out) +{ + const int bit_offset = SHA1_BLOCK_SIZE - sizeof(__be64); + unsigned int partial = sctx->count % SHA1_BLOCK_SIZE; + __be64 *bits = (__be64 *)(sctx->buffer + bit_offset); + __be32 *digest = (__be32 *)out; + int i; + + sctx->buffer[partial++] = 0x80; + if (partial > bit_offset) { + memset(sctx->buffer + partial, 0x0, SHA1_BLOCK_SIZE - partial); + partial = 0; + + __sha_transform(sctx->state, sctx->buffer); + } + + memset(sctx->buffer + partial, 0x0, bit_offset - partial); + *bits = cpu_to_be64(sctx->count << 3); + __sha_transform(sctx->state, sctx->buffer); + + for (i = 0; i < SHA1_DIGEST_SIZE / sizeof(__be32); i++) + put_unaligned_be32(sctx->state[i], digest++); + + *sctx = (struct sha1_state){}; +} diff --git a/arch/x86/boot/compressed/early_sha1.h b/arch/x86/boot/compressed/early_sha1.h new file mode 100644 index 0000000..adcc4a9 --- /dev/null +++ b/arch/x86/boot/compressed/early_sha1.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2022 Apertus Solutions, LLC + */ + +#ifndef BOOT_COMPRESSED_EARLY_SHA1_H +#define BOOT_COMPRESSED_EARLY_SHA1_H + +#include <crypto/sha1.h> + +void early_sha1_init(struct sha1_state *sctx); +void early_sha1_update(struct sha1_state *sctx, + const u8 *data, + unsigned int len); +void early_sha1_final(struct sha1_state *sctx, u8 *out); + +#endif /* BOOT_COMPRESSED_EARLY_SHA1_H */ diff --git a/arch/x86/boot/compressed/early_sha256.c b/arch/x86/boot/compressed/early_sha256.c new file mode 100644 index 0000000..28a8e32 --- /dev/null +++ b/arch/x86/boot/compressed/early_sha256.c @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2022 Apertus Solutions, LLC + */ + +#define SHA256_DISABLE_EXPORT +#include "../../../../lib/crypto/sha256.c" diff --git a/lib/crypto/sha1.c b/lib/crypto/sha1.c index 1aebe7b..771ff90 100644 --- a/lib/crypto/sha1.c +++ b/lib/crypto/sha1.c @@ -121,7 +121,9 @@ void sha1_transform(__u32 *digest, const char *data, __u32 *array) digest[3] += D; digest[4] += E; } +#ifndef SHA1_DISABLE_EXPORT EXPORT_SYMBOL(sha1_transform); +#endif /** * sha1_init - initialize the vectors for a SHA1 digest @@ -135,6 +137,8 @@ void sha1_init(__u32 *buf) buf[3] = 0x10325476; buf[4] = 0xc3d2e1f0; } +#ifndef SHA1_DISABLE_EXPORT EXPORT_SYMBOL(sha1_init); +#endif MODULE_LICENSE("GPL"); diff --git a/lib/crypto/sha256.c b/lib/crypto/sha256.c index 72a4b0b..e532220 100644 --- a/lib/crypto/sha256.c +++ b/lib/crypto/sha256.c @@ -149,13 +149,17 @@ void sha256_update(struct sha256_state *sctx, const u8 *data, unsigned int len) } memcpy(sctx->buf + partial, src, len - done); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha256_update); +#endif void sha224_update(struct sha256_state *sctx, const u8 *data, unsigned int len) { sha256_update(sctx, data, len); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha224_update); +#endif static void __sha256_final(struct sha256_state *sctx, u8 *out, int digest_words) { @@ -188,13 +192,17 @@ void sha256_final(struct sha256_state *sctx, u8 *out) { __sha256_final(sctx, out, 8); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha256_final); +#endif void sha224_final(struct sha256_state *sctx, u8 *out) { __sha256_final(sctx, out, 7); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha224_final); +#endif void sha256(const u8 *data, unsigned int len, u8 *out) { -- 1.8.3.1 _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Ross Philipson <ross.philipson@oracle.com> To: linux-kernel@vger.kernel.org, x86@kernel.org, linux-integrity@vger.kernel.org, linux-doc@vger.kernel.org, linux-crypto@vger.kernel.org, iommu@lists.linux-foundation.org, kexec@lists.infradead.org, linux-efi@vger.kernel.org Cc: ross.philipson@oracle.com, dpsmith@apertussolutions.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, ardb@kernel.org, mjg59@srcf.ucam.org, James.Bottomley@hansenpartnership.com, luto@amacapital.net, nivedita@alum.mit.edu, kanth.ghatraju@oracle.com, trenchboot-devel@googlegroups.com Subject: [PATCH v6 06/14] x86: Add early SHA support for Secure Launch early measurements Date: Thu, 4 May 2023 14:50:15 +0000 [thread overview] Message-ID: <20230504145023.835096-7-ross.philipson@oracle.com> (raw) In-Reply-To: <20230504145023.835096-1-ross.philipson@oracle.com> From: "Daniel P. Smith" <dpsmith@apertussolutions.com> The SHA algorithms are necessary to measure configuration information into the TPM as early as possible before using the values. This implementation uses the established approach of #including the SHA libraries directly in the code since the compressed kernel is not uncompressed at this point. The SHA code here has its origins in the code from the main kernel: commit c4d5b9ffa31f ("crypto: sha1 - implement base layer for SHA-1") That code could not be pulled directly into the setup portion of the compressed kernel because of other dependencies it pulls in. The result is this is a modified copy of that code that still leverages the core SHA algorithms. Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com> Signed-off-by: Ross Philipson <ross.philipson@oracle.com> --- arch/x86/boot/compressed/Makefile | 2 + arch/x86/boot/compressed/early_sha1.c | 97 +++++++++++++++++++++++++++++++++ arch/x86/boot/compressed/early_sha1.h | 17 ++++++ arch/x86/boot/compressed/early_sha256.c | 7 +++ lib/crypto/sha1.c | 4 ++ lib/crypto/sha256.c | 8 +++ 6 files changed, 135 insertions(+) create mode 100644 arch/x86/boot/compressed/early_sha1.c create mode 100644 arch/x86/boot/compressed/early_sha1.h create mode 100644 arch/x86/boot/compressed/early_sha256.c diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile index 6b6cfe6..1d327d4 100644 --- a/arch/x86/boot/compressed/Makefile +++ b/arch/x86/boot/compressed/Makefile @@ -112,6 +112,8 @@ vmlinux-objs-$(CONFIG_EFI) += $(obj)/efi.o vmlinux-objs-$(CONFIG_EFI_MIXED) += $(obj)/efi_mixed.o vmlinux-objs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a +vmlinux-objs-$(CONFIG_SECURE_LAUNCH) += $(obj)/early_sha1.o $(obj)/early_sha256.o + $(obj)/vmlinux: $(vmlinux-objs-y) FORCE $(call if_changed,ld) diff --git a/arch/x86/boot/compressed/early_sha1.c b/arch/x86/boot/compressed/early_sha1.c new file mode 100644 index 0000000..524ec23 --- /dev/null +++ b/arch/x86/boot/compressed/early_sha1.c @@ -0,0 +1,97 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2022 Apertus Solutions, LLC. + */ + +#include <linux/init.h> +#include <linux/linkage.h> +#include <linux/string.h> +#include <asm/boot.h> +#include <asm/unaligned.h> + +#include "early_sha1.h" + +#define SHA1_DISABLE_EXPORT +#include "../../../../lib/crypto/sha1.c" + +/* The SHA1 implementation in lib/sha1.c was written to get the workspace + * buffer as a parameter. This wrapper function provides a container + * around a temporary workspace that is cleared after the transform completes. + */ +static void __sha_transform(u32 *digest, const char *data) +{ + u32 ws[SHA1_WORKSPACE_WORDS]; + + sha1_transform(digest, data, ws); + + memzero_explicit(ws, sizeof(ws)); +} + +void early_sha1_init(struct sha1_state *sctx) +{ + sha1_init(sctx->state); + sctx->count = 0; +} + +void early_sha1_update(struct sha1_state *sctx, + const u8 *data, + unsigned int len) +{ + unsigned int partial = sctx->count % SHA1_BLOCK_SIZE; + + sctx->count += len; + + if (likely((partial + len) >= SHA1_BLOCK_SIZE)) { + int blocks; + + if (partial) { + int p = SHA1_BLOCK_SIZE - partial; + + memcpy(sctx->buffer + partial, data, p); + data += p; + len -= p; + + __sha_transform(sctx->state, sctx->buffer); + } + + blocks = len / SHA1_BLOCK_SIZE; + len %= SHA1_BLOCK_SIZE; + + if (blocks) { + while (blocks--) { + __sha_transform(sctx->state, data); + data += SHA1_BLOCK_SIZE; + } + } + partial = 0; + } + + if (len) + memcpy(sctx->buffer + partial, data, len); +} + +void early_sha1_final(struct sha1_state *sctx, u8 *out) +{ + const int bit_offset = SHA1_BLOCK_SIZE - sizeof(__be64); + unsigned int partial = sctx->count % SHA1_BLOCK_SIZE; + __be64 *bits = (__be64 *)(sctx->buffer + bit_offset); + __be32 *digest = (__be32 *)out; + int i; + + sctx->buffer[partial++] = 0x80; + if (partial > bit_offset) { + memset(sctx->buffer + partial, 0x0, SHA1_BLOCK_SIZE - partial); + partial = 0; + + __sha_transform(sctx->state, sctx->buffer); + } + + memset(sctx->buffer + partial, 0x0, bit_offset - partial); + *bits = cpu_to_be64(sctx->count << 3); + __sha_transform(sctx->state, sctx->buffer); + + for (i = 0; i < SHA1_DIGEST_SIZE / sizeof(__be32); i++) + put_unaligned_be32(sctx->state[i], digest++); + + *sctx = (struct sha1_state){}; +} diff --git a/arch/x86/boot/compressed/early_sha1.h b/arch/x86/boot/compressed/early_sha1.h new file mode 100644 index 0000000..adcc4a9 --- /dev/null +++ b/arch/x86/boot/compressed/early_sha1.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2022 Apertus Solutions, LLC + */ + +#ifndef BOOT_COMPRESSED_EARLY_SHA1_H +#define BOOT_COMPRESSED_EARLY_SHA1_H + +#include <crypto/sha1.h> + +void early_sha1_init(struct sha1_state *sctx); +void early_sha1_update(struct sha1_state *sctx, + const u8 *data, + unsigned int len); +void early_sha1_final(struct sha1_state *sctx, u8 *out); + +#endif /* BOOT_COMPRESSED_EARLY_SHA1_H */ diff --git a/arch/x86/boot/compressed/early_sha256.c b/arch/x86/boot/compressed/early_sha256.c new file mode 100644 index 0000000..28a8e32 --- /dev/null +++ b/arch/x86/boot/compressed/early_sha256.c @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2022 Apertus Solutions, LLC + */ + +#define SHA256_DISABLE_EXPORT +#include "../../../../lib/crypto/sha256.c" diff --git a/lib/crypto/sha1.c b/lib/crypto/sha1.c index 1aebe7b..771ff90 100644 --- a/lib/crypto/sha1.c +++ b/lib/crypto/sha1.c @@ -121,7 +121,9 @@ void sha1_transform(__u32 *digest, const char *data, __u32 *array) digest[3] += D; digest[4] += E; } +#ifndef SHA1_DISABLE_EXPORT EXPORT_SYMBOL(sha1_transform); +#endif /** * sha1_init - initialize the vectors for a SHA1 digest @@ -135,6 +137,8 @@ void sha1_init(__u32 *buf) buf[3] = 0x10325476; buf[4] = 0xc3d2e1f0; } +#ifndef SHA1_DISABLE_EXPORT EXPORT_SYMBOL(sha1_init); +#endif MODULE_LICENSE("GPL"); diff --git a/lib/crypto/sha256.c b/lib/crypto/sha256.c index 72a4b0b..e532220 100644 --- a/lib/crypto/sha256.c +++ b/lib/crypto/sha256.c @@ -149,13 +149,17 @@ void sha256_update(struct sha256_state *sctx, const u8 *data, unsigned int len) } memcpy(sctx->buf + partial, src, len - done); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha256_update); +#endif void sha224_update(struct sha256_state *sctx, const u8 *data, unsigned int len) { sha256_update(sctx, data, len); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha224_update); +#endif static void __sha256_final(struct sha256_state *sctx, u8 *out, int digest_words) { @@ -188,13 +192,17 @@ void sha256_final(struct sha256_state *sctx, u8 *out) { __sha256_final(sctx, out, 8); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha256_final); +#endif void sha224_final(struct sha256_state *sctx, u8 *out) { __sha256_final(sctx, out, 7); } +#ifndef SHA256_DISABLE_EXPORT EXPORT_SYMBOL(sha224_final); +#endif void sha256(const u8 *data, unsigned int len, u8 *out) { -- 1.8.3.1
next prev parent reply other threads:[~2023-05-04 14:51 UTC|newest] Thread overview: 200+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-05-04 14:50 [PATCH v6 00/14] x86: Trenchboot secure dynamic launch Linux kernel support Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-04 14:50 ` [PATCH v6 01/14] x86/boot: Place kernel_info at a fixed offset Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-04 14:50 ` [PATCH v6 02/14] Documentation/x86: Secure Launch kernel documentation Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 16:19 ` Simon Horman 2023-05-05 16:19 ` Simon Horman 2023-05-05 17:32 ` Ross Philipson 2023-05-05 17:32 ` Ross Philipson 2023-05-06 8:48 ` Bagas Sanjaya 2023-05-06 8:48 ` Bagas Sanjaya 2023-05-10 15:41 ` Ross Philipson 2023-05-10 15:41 ` Ross Philipson 2023-05-12 10:47 ` Matthew Garrett 2023-05-12 10:47 ` Matthew Garrett 2023-06-16 16:44 ` Daniel P. Smith 2023-06-16 16:44 ` Daniel P. Smith 2023-06-16 16:54 ` Matthew Garrett 2023-06-16 16:54 ` Matthew Garrett 2023-06-16 18:21 ` Daniel P. Smith 2023-06-16 18:21 ` Daniel P. Smith 2023-05-12 13:19 ` Thomas Gleixner 2023-05-12 13:19 ` Thomas Gleixner 2023-05-04 14:50 ` [PATCH v6 03/14] x86: Secure Launch Kconfig Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-04 14:50 ` [PATCH v6 04/14] x86: Secure Launch Resource Table header file Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 16:22 ` Simon Horman 2023-05-05 16:22 ` Simon Horman 2023-05-05 17:34 ` Ross Philipson 2023-05-05 17:34 ` Ross Philipson 2023-05-10 23:04 ` Jarkko Sakkinen 2023-05-10 23:04 ` Jarkko Sakkinen 2023-05-15 20:58 ` Daniel P. Smith 2023-05-15 20:58 ` Daniel P. Smith 2023-05-12 10:55 ` Matthew Garrett 2023-05-12 10:55 ` Matthew Garrett 2023-05-15 21:15 ` Daniel P. Smith 2023-05-15 21:15 ` Daniel P. Smith 2023-05-15 21:22 ` Matthew Garrett 2023-05-15 21:22 ` Matthew Garrett 2023-05-16 0:41 ` Daniel P. Smith 2023-05-16 0:41 ` Daniel P. Smith 2023-05-16 1:43 ` Matthew Garrett 2023-05-16 1:43 ` Matthew Garrett 2023-06-16 20:01 ` Daniel P. Smith 2023-06-16 20:01 ` Daniel P. Smith 2023-06-16 20:15 ` Matthew Garrett 2023-06-16 20:15 ` Matthew Garrett 2023-07-07 19:31 ` Daniel P. Smith 2023-07-07 19:31 ` Daniel P. Smith 2023-05-04 14:50 ` [PATCH v6 05/14] x86: Secure Launch main " Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 16:25 ` Simon Horman 2023-05-05 16:25 ` Simon Horman 2023-05-05 17:37 ` Ross Philipson 2023-05-05 17:37 ` Ross Philipson 2023-05-12 11:00 ` Matthew Garrett 2023-05-12 11:00 ` Matthew Garrett 2023-05-12 16:10 ` Ross Philipson 2023-05-12 16:10 ` Ross Philipson 2023-10-31 21:37 ` ross.philipson 2023-10-31 21:37 ` ross.philipson 2023-05-04 14:50 ` Ross Philipson [this message] 2023-05-04 14:50 ` [PATCH v6 06/14] x86: Add early SHA support for Secure Launch early measurements Ross Philipson 2023-05-05 16:34 ` Simon Horman 2023-05-05 16:34 ` Simon Horman 2023-05-09 16:09 ` Daniel P. Smith 2023-05-09 16:09 ` Daniel P. Smith 2023-05-10 1:21 ` Eric Biggers 2023-05-10 1:21 ` Eric Biggers 2023-05-10 22:28 ` Jarkko Sakkinen 2023-05-10 22:28 ` Jarkko Sakkinen 2023-05-12 11:04 ` Matthew Garrett 2023-05-12 11:04 ` Matthew Garrett 2023-05-12 11:18 ` Ard Biesheuvel 2023-05-12 11:18 ` Ard Biesheuvel 2023-05-12 11:28 ` Matthew Garrett 2023-05-12 11:28 ` Matthew Garrett 2023-05-12 11:58 ` Ard Biesheuvel 2023-05-12 11:58 ` Ard Biesheuvel 2023-05-12 12:24 ` Andrew Cooper 2023-05-12 12:24 ` Andrew Cooper 2023-05-14 18:18 ` Eric Biggers 2023-05-14 18:18 ` Eric Biggers 2023-05-14 19:11 ` Matthew Garrett 2023-05-14 19:11 ` Matthew Garrett 2023-05-12 13:24 ` Thomas Gleixner 2023-05-12 13:24 ` Thomas Gleixner 2023-05-12 16:13 ` Matthew Garrett 2023-05-12 16:13 ` Matthew Garrett 2023-05-12 18:17 ` Thomas Gleixner 2023-05-12 18:17 ` Thomas Gleixner 2023-05-12 19:12 ` Matthew Garrett 2023-05-12 19:12 ` Matthew Garrett 2023-05-12 19:42 ` Andrew Cooper 2023-05-12 19:42 ` Andrew Cooper 2023-05-15 21:23 ` Daniel P. Smith 2023-05-15 21:23 ` Daniel P. Smith 2023-05-11 3:33 ` Herbert Xu 2023-05-11 3:33 ` Herbert Xu 2023-05-16 0:50 ` Daniel P. Smith 2023-05-16 0:50 ` Daniel P. Smith 2023-05-04 14:50 ` [PATCH v6 07/14] x86: Secure Launch kernel early boot stub Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 17:47 ` Simon Horman 2023-05-05 17:47 ` Simon Horman 2023-05-05 18:58 ` Ross Philipson 2023-05-05 18:58 ` Ross Philipson 2023-05-05 19:46 ` Simon Horman 2023-05-05 19:46 ` Simon Horman 2023-05-12 11:26 ` Matthew Garrett 2023-05-12 11:26 ` Matthew Garrett 2023-05-12 16:17 ` Ross Philipson 2023-05-12 16:17 ` Ross Philipson 2023-05-12 16:27 ` Matthew Garrett 2023-05-12 16:27 ` Matthew Garrett 2023-05-16 1:11 ` Daniel P. Smith 2023-05-16 1:11 ` Daniel P. Smith 2023-05-16 1:45 ` Matthew Garrett 2023-05-16 1:45 ` Matthew Garrett 2023-06-15 18:00 ` Ross Philipson 2023-06-15 18:00 ` Ross Philipson 2023-05-12 18:04 ` Thomas Gleixner 2023-05-12 18:04 ` Thomas Gleixner 2023-05-15 20:13 ` Ross Philipson 2023-05-15 20:13 ` Ross Philipson 2023-09-20 21:40 ` ross.philipson 2023-09-20 21:40 ` ross.philipson 2023-05-04 14:50 ` [PATCH v6 08/14] x86: Secure Launch kernel late " Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 17:52 ` Simon Horman 2023-05-05 17:52 ` Simon Horman 2023-05-05 18:59 ` Ross Philipson 2023-05-05 18:59 ` Ross Philipson 2023-05-10 23:02 ` Jarkko Sakkinen 2023-05-10 23:02 ` Jarkko Sakkinen 2023-05-12 15:58 ` Ross Philipson 2023-05-12 15:58 ` Ross Philipson 2023-05-24 2:55 ` Jarkko Sakkinen 2023-05-24 2:55 ` Jarkko Sakkinen 2023-05-12 15:44 ` Thomas Gleixner 2023-05-12 15:44 ` Thomas Gleixner 2023-05-15 20:06 ` Ross Philipson 2023-05-15 20:06 ` Ross Philipson 2023-05-04 14:50 ` [PATCH v6 09/14] x86: Secure Launch SMP bringup support Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 17:54 ` Simon Horman 2023-05-05 17:54 ` Simon Horman 2023-05-05 18:59 ` Ross Philipson 2023-05-05 18:59 ` Ross Philipson 2023-05-10 22:55 ` Jarkko Sakkinen 2023-05-10 22:55 ` Jarkko Sakkinen 2023-05-11 16:21 ` Ross Philipson 2023-05-11 16:21 ` Ross Philipson 2023-05-12 18:02 ` Thomas Gleixner 2023-05-12 18:02 ` Thomas Gleixner 2023-05-15 20:19 ` Ross Philipson 2023-05-15 20:19 ` Ross Philipson 2023-05-04 14:50 ` [PATCH v6 10/14] kexec: Secure Launch kexec SEXIT support Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-04 14:50 ` [PATCH v6 11/14] reboot: Secure Launch SEXIT support on reboot paths Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-12 11:40 ` Matthew Garrett 2023-05-12 11:40 ` Matthew Garrett 2023-05-15 18:16 ` Ross Philipson 2023-05-15 18:16 ` Ross Philipson 2023-05-16 1:23 ` Daniel P. Smith 2023-05-16 1:23 ` Daniel P. Smith 2023-05-04 14:50 ` [PATCH v6 12/14] x86: Secure Launch late initcall platform module Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 19:42 ` Simon Horman 2023-05-05 19:42 ` Simon Horman 2023-05-08 15:07 ` Ross Philipson 2023-05-08 15:07 ` Ross Philipson 2023-05-10 22:39 ` Jarkko Sakkinen 2023-05-10 22:39 ` Jarkko Sakkinen 2023-05-12 15:53 ` Ross Philipson 2023-05-12 15:53 ` Ross Philipson 2023-05-10 22:40 ` Jarkko Sakkinen 2023-05-10 22:40 ` Jarkko Sakkinen 2023-05-12 15:54 ` Ross Philipson 2023-05-12 15:54 ` Ross Philipson 2023-05-04 14:50 ` [PATCH v6 13/14] tpm: Allow locality 2 to be set when initializing the TPM for Secure Launch Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-12 11:43 ` Matthew Garrett 2023-05-12 11:43 ` Matthew Garrett 2023-05-12 16:22 ` Ross Philipson 2023-05-12 16:22 ` Ross Philipson 2023-05-16 1:37 ` Daniel P. Smith 2023-05-16 1:37 ` Daniel P. Smith 2023-05-04 14:50 ` [PATCH v6 14/14] x86: EFI stub DRTM launch support " Ross Philipson 2023-05-04 14:50 ` Ross Philipson 2023-05-05 8:39 ` [PATCH v6 00/14] x86: Trenchboot secure dynamic launch Linux kernel support Bagas Sanjaya 2023-05-05 8:39 ` Bagas Sanjaya 2023-05-05 15:45 ` Ross Philipson 2023-05-05 15:45 ` Ross Philipson 2023-05-06 7:56 ` Bagas Sanjaya 2023-05-06 7:56 ` Bagas Sanjaya
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=20230504145023.835096-7-ross.philipson@oracle.com \ --to=ross.philipson@oracle.com \ --cc=James.Bottomley@hansenpartnership.com \ --cc=ardb@kernel.org \ --cc=bp@alien8.de \ --cc=dpsmith@apertussolutions.com \ --cc=hpa@zytor.com \ --cc=iommu@lists.linux-foundation.org \ --cc=kanth.ghatraju@oracle.com \ --cc=kexec@lists.infradead.org \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-efi@vger.kernel.org \ --cc=linux-integrity@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=luto@amacapital.net \ --cc=mingo@redhat.com \ --cc=mjg59@srcf.ucam.org \ --cc=nivedita@alum.mit.edu \ --cc=tglx@linutronix.de \ --cc=trenchboot-devel@googlegroups.com \ --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.