All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: <ross.philipson@oracle.com>, <linux-kernel@vger.kernel.org>,
	<x86@kernel.org>, <linux-integrity@vger.kernel.org>,
	<linux-doc@vger.kernel.org>, <linux-crypto@vger.kernel.org>,
	<kexec@lists.infradead.org>, <linux-efi@vger.kernel.org>,
	<iommu@lists.linux-foundation.org>
Cc: <dpsmith@apertussolutions.com>, <tglx@linutronix.de>,
	<mingo@redhat.com>, <bp@alien8.de>, <hpa@zytor.com>,
	<dave.hansen@linux.intel.com>, <ardb@kernel.org>,
	<mjg59@srcf.ucam.org>, <James.Bottomley@hansenpartnership.com>,
	<peterhuewe@gmx.de>, <jgg@ziepe.ca>, <luto@amacapital.net>,
	<nivedita@alum.mit.edu>, <herbert@gondor.apana.org.au>,
	<davem@davemloft.net>, <corbet@lwn.net>, <ebiederm@xmission.com>,
	<dwmw2@infradead.org>, <baolu.lu@linux.intel.com>,
	<kanth.ghatraju@oracle.com>, <andrew.cooper3@citrix.com>,
	<trenchboot-devel@googlegroups.com>
Subject: Re: [PATCH v9 06/19] x86: Add early SHA-1 support for Secure Launch early measurements
Date: Wed, 05 Jun 2024 01:40:54 +0300	[thread overview]
Message-ID: <D1RLF3R9YVB0.3LGEH553O8HEL@kernel.org> (raw)
In-Reply-To: <0ed3cdf6-2e4a-41f2-b2f6-363899405298@oracle.com>

On Wed Jun 5, 2024 at 12:02 AM EEST,  wrote:
> On 6/4/24 11:52 AM, Jarkko Sakkinen wrote:
> > On Fri May 31, 2024 at 4:03 AM EEST, Ross Philipson wrote:
> >> From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
> >>
> >> For better or worse, Secure Launch needs SHA-1 and SHA-256. The
> >> choice of hashes used lie with the platform firmware, not with
> >> software, and is often outside of the users control.
> >>
> >> Even if we'd prefer to use SHA-256-only, if firmware elected to start us
> >> with the SHA-1 and SHA-256 backs active, we still need SHA-1 to parse
> >> the TPM event log thus far, and deliberately cap the SHA-1 PCRs in order
> >> to safely use SHA-256 for everything else.
> >>
> >> The SHA-1 code here has its origins in the code from the main kernel:
> >>
> >> commit c4d5b9ffa31f ("crypto: sha1 - implement base layer for SHA-1")
> >>
> >> A modified version of this code was introduced to the lib/crypto/sha1.c
> >> to bring it in line with the SHA-256 code and allow it to be pulled into the
> >> setup kernel in the same manner as SHA-256 is.
> >>
> >> 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 | 12 ++++
> >>   include/crypto/sha1.h                 |  1 +
> >>   lib/crypto/sha1.c                     | 81 +++++++++++++++++++++++++++
> >>   4 files changed, 96 insertions(+)
> >>   create mode 100644 arch/x86/boot/compressed/early_sha1.c
> >>
> >> diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
> >> index e9522c6893be..3307ebef4e1b 100644
> >> --- a/arch/x86/boot/compressed/Makefile
> >> +++ b/arch/x86/boot/compressed/Makefile
> >> @@ -118,6 +118,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)/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 000000000000..8a9b904a73ab
> >> --- /dev/null
> >> +++ b/arch/x86/boot/compressed/early_sha1.c
> >> @@ -0,0 +1,12 @@
> >> +// SPDX-License-Identifier: GPL-2.0
> >> +/*
> >> + * Copyright (c) 2024 Apertus Solutions, LLC.
> >> + */
> >> +
> >> +#include <linux/init.h>
> >> +#include <linux/linkage.h>
> >> +#include <linux/string.h>
> >> +#include <asm/boot.h>
> >> +#include <asm/unaligned.h>
> >> +
> >> +#include "../../../../lib/crypto/sha1.c"
> > }
> > 
> > Yep, make sense. Thinking only that should this be just sha1.c.
> > 
> > Comparing this to mainly drivers/firmware/efi/tpm.c, which is not
> > early_tpm.c where the early actually probably would make more sense
> > than here. Here sha1 primitive is just needed.
> > 
> > This is definitely a nitpick but why carry a prefix that is not
> > that useful, right?
>
> I am not 100% sure what you mean here, sorry. Could you clarify about 
> the prefix? Do you mean why did we choose early_*? There was precedent 
> for doing that like early_serial_console.c.

Yep, that exactly. I'd just name as sha1.c.

>
> > 
> >> diff --git a/include/crypto/sha1.h b/include/crypto/sha1.h
> >> index 044ecea60ac8..d715dd5332e1 100644
> >> --- a/include/crypto/sha1.h
> >> +++ b/include/crypto/sha1.h
> >> @@ -42,5 +42,6 @@ extern int crypto_sha1_finup(struct shash_desc *desc, const u8 *data,
> >>   #define SHA1_WORKSPACE_WORDS	16
> >>   void sha1_init(__u32 *buf);
> >>   void sha1_transform(__u32 *digest, const char *data, __u32 *W);
> >> +void sha1(const u8 *data, unsigned int len, u8 *out);
> >>   
> >>   #endif /* _CRYPTO_SHA1_H */
> >> diff --git a/lib/crypto/sha1.c b/lib/crypto/sha1.c
> >> index 1aebe7be9401..10152125b338 100644
> >> --- a/lib/crypto/sha1.c
> >> +++ b/lib/crypto/sha1.c
> >> @@ -137,4 +137,85 @@ void sha1_init(__u32 *buf)
> >>   }
> >>   EXPORT_SYMBOL(sha1_init);
> >>   
> >> +static void __sha1_transform(u32 *digest, const char *data)
> >> +{
> >> +       u32 ws[SHA1_WORKSPACE_WORDS];
> >> +
> >> +       sha1_transform(digest, data, ws);
> >> +
> >> +       memzero_explicit(ws, sizeof(ws));
> > 
> > For the sake of future reference I'd carry always some inline comment
> > with any memzero_explicit() call site.
>
> We can do that.
>
> > 
> >> +}
> >> +
> >> +static void 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)) {
> > 
> > 
> > 	if (unlikely((partial + len) < SHA1_BLOCK_SIZE))
> > 		goto out;
> > 
> > ?
>
> We could do it that way. I guess it would cut down in indenting. I defer 
> to Daniel Smith on this...

Yep, that's why I requested this.

>
> > 
> >> +		int blocks;
> >> +
> >> +		if (partial) {
> >> +			int p = SHA1_BLOCK_SIZE - partial;
> >> +
> >> +			memcpy(sctx->buffer + partial, data, p);
> >> +			data += p;
> >> +			len -= p;
> >> +
> >> +			__sha1_transform(sctx->state, sctx->buffer);
> >> +		}
> >> +
> >> +		blocks = len / SHA1_BLOCK_SIZE;
> >> +		len %= SHA1_BLOCK_SIZE;
> >> +
> >> +		if (blocks) {
> >> +			while (blocks--) {
> >> +				__sha1_transform(sctx->state, data);
> >> +				data += SHA1_BLOCK_SIZE;
> >> +			}
> >> +		}
> >> +		partial = 0;
> >> +	}
> >> +
> > 
> > out:
> > 
> >> +	if (len)
> >> +		memcpy(sctx->buffer + partial, data, len);
> > 
> > Why not just memcpy() unconditionally?
> > 
>
> ... and this.

It only adds complexity with no gain.

>
> >> +}
> >> +
> >> +static void 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;
> >> +
> >> +		__sha1_transform(sctx->state, sctx->buffer);
> >> +	}
> >> +
> >> +	memset(sctx->buffer + partial, 0x0, bit_offset - partial);
> >> +	*bits = cpu_to_be64(sctx->count << 3);
> >> +	__sha1_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){};
> >> +}
> >> +
> >> +void sha1(const u8 *data, unsigned int len, u8 *out)
> >> +{
> >> +	struct sha1_state sctx = {0};
> >> +
> >> +	sha1_init(sctx.state);
> >> +	sctx.count = 0;
> > 
> > Hmm... so shouldn't C99 take care of this given the initialization
> > above? I'm not 100% sure here. I.e. given "= {0}", shouldn't this
> > already be zero?
>
> Yes it seems so. We will look at changing that.

Yeah, AFAIK C99 should zero out anything remaining.

>
> > 
> >> +	sha1_update(&sctx, data, len);
> >> +	sha1_final(&sctx, out);
> >> +}
> >> +EXPORT_SYMBOL(sha1);
> >> +
> >>   MODULE_LICENSE("GPL");
> > 
> > BR, Jarkko
>
> Thanks
> Ross

BR, Jarkko

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: <ross.philipson@oracle.com>, <linux-kernel@vger.kernel.org>,
	<x86@kernel.org>, <linux-integrity@vger.kernel.org>,
	<linux-doc@vger.kernel.org>, <linux-crypto@vger.kernel.org>,
	<kexec@lists.infradead.org>, <linux-efi@vger.kernel.org>,
	<iommu@lists.linux-foundation.org>
Cc: <dpsmith@apertussolutions.com>, <tglx@linutronix.de>,
	<mingo@redhat.com>, <bp@alien8.de>, <hpa@zytor.com>,
	<dave.hansen@linux.intel.com>, <ardb@kernel.org>,
	<mjg59@srcf.ucam.org>, <James.Bottomley@hansenpartnership.com>,
	<peterhuewe@gmx.de>, <jgg@ziepe.ca>, <luto@amacapital.net>,
	<nivedita@alum.mit.edu>, <herbert@gondor.apana.org.au>,
	<davem@davemloft.net>, <corbet@lwn.net>, <ebiederm@xmission.com>,
	<dwmw2@infradead.org>, <baolu.lu@linux.intel.com>,
	<kanth.ghatraju@oracle.com>, <andrew.cooper3@citrix.com>,
	<trenchboot-devel@googlegroups.com>
Subject: Re: [PATCH v9 06/19] x86: Add early SHA-1 support for Secure Launch early measurements
Date: Wed, 05 Jun 2024 01:40:54 +0300	[thread overview]
Message-ID: <D1RLF3R9YVB0.3LGEH553O8HEL@kernel.org> (raw)
In-Reply-To: <0ed3cdf6-2e4a-41f2-b2f6-363899405298@oracle.com>

On Wed Jun 5, 2024 at 12:02 AM EEST,  wrote:
> On 6/4/24 11:52 AM, Jarkko Sakkinen wrote:
> > On Fri May 31, 2024 at 4:03 AM EEST, Ross Philipson wrote:
> >> From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
> >>
> >> For better or worse, Secure Launch needs SHA-1 and SHA-256. The
> >> choice of hashes used lie with the platform firmware, not with
> >> software, and is often outside of the users control.
> >>
> >> Even if we'd prefer to use SHA-256-only, if firmware elected to start us
> >> with the SHA-1 and SHA-256 backs active, we still need SHA-1 to parse
> >> the TPM event log thus far, and deliberately cap the SHA-1 PCRs in order
> >> to safely use SHA-256 for everything else.
> >>
> >> The SHA-1 code here has its origins in the code from the main kernel:
> >>
> >> commit c4d5b9ffa31f ("crypto: sha1 - implement base layer for SHA-1")
> >>
> >> A modified version of this code was introduced to the lib/crypto/sha1.c
> >> to bring it in line with the SHA-256 code and allow it to be pulled into the
> >> setup kernel in the same manner as SHA-256 is.
> >>
> >> 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 | 12 ++++
> >>   include/crypto/sha1.h                 |  1 +
> >>   lib/crypto/sha1.c                     | 81 +++++++++++++++++++++++++++
> >>   4 files changed, 96 insertions(+)
> >>   create mode 100644 arch/x86/boot/compressed/early_sha1.c
> >>
> >> diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
> >> index e9522c6893be..3307ebef4e1b 100644
> >> --- a/arch/x86/boot/compressed/Makefile
> >> +++ b/arch/x86/boot/compressed/Makefile
> >> @@ -118,6 +118,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)/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 000000000000..8a9b904a73ab
> >> --- /dev/null
> >> +++ b/arch/x86/boot/compressed/early_sha1.c
> >> @@ -0,0 +1,12 @@
> >> +// SPDX-License-Identifier: GPL-2.0
> >> +/*
> >> + * Copyright (c) 2024 Apertus Solutions, LLC.
> >> + */
> >> +
> >> +#include <linux/init.h>
> >> +#include <linux/linkage.h>
> >> +#include <linux/string.h>
> >> +#include <asm/boot.h>
> >> +#include <asm/unaligned.h>
> >> +
> >> +#include "../../../../lib/crypto/sha1.c"
> > }
> > 
> > Yep, make sense. Thinking only that should this be just sha1.c.
> > 
> > Comparing this to mainly drivers/firmware/efi/tpm.c, which is not
> > early_tpm.c where the early actually probably would make more sense
> > than here. Here sha1 primitive is just needed.
> > 
> > This is definitely a nitpick but why carry a prefix that is not
> > that useful, right?
>
> I am not 100% sure what you mean here, sorry. Could you clarify about 
> the prefix? Do you mean why did we choose early_*? There was precedent 
> for doing that like early_serial_console.c.

Yep, that exactly. I'd just name as sha1.c.

>
> > 
> >> diff --git a/include/crypto/sha1.h b/include/crypto/sha1.h
> >> index 044ecea60ac8..d715dd5332e1 100644
> >> --- a/include/crypto/sha1.h
> >> +++ b/include/crypto/sha1.h
> >> @@ -42,5 +42,6 @@ extern int crypto_sha1_finup(struct shash_desc *desc, const u8 *data,
> >>   #define SHA1_WORKSPACE_WORDS	16
> >>   void sha1_init(__u32 *buf);
> >>   void sha1_transform(__u32 *digest, const char *data, __u32 *W);
> >> +void sha1(const u8 *data, unsigned int len, u8 *out);
> >>   
> >>   #endif /* _CRYPTO_SHA1_H */
> >> diff --git a/lib/crypto/sha1.c b/lib/crypto/sha1.c
> >> index 1aebe7be9401..10152125b338 100644
> >> --- a/lib/crypto/sha1.c
> >> +++ b/lib/crypto/sha1.c
> >> @@ -137,4 +137,85 @@ void sha1_init(__u32 *buf)
> >>   }
> >>   EXPORT_SYMBOL(sha1_init);
> >>   
> >> +static void __sha1_transform(u32 *digest, const char *data)
> >> +{
> >> +       u32 ws[SHA1_WORKSPACE_WORDS];
> >> +
> >> +       sha1_transform(digest, data, ws);
> >> +
> >> +       memzero_explicit(ws, sizeof(ws));
> > 
> > For the sake of future reference I'd carry always some inline comment
> > with any memzero_explicit() call site.
>
> We can do that.
>
> > 
> >> +}
> >> +
> >> +static void 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)) {
> > 
> > 
> > 	if (unlikely((partial + len) < SHA1_BLOCK_SIZE))
> > 		goto out;
> > 
> > ?
>
> We could do it that way. I guess it would cut down in indenting. I defer 
> to Daniel Smith on this...

Yep, that's why I requested this.

>
> > 
> >> +		int blocks;
> >> +
> >> +		if (partial) {
> >> +			int p = SHA1_BLOCK_SIZE - partial;
> >> +
> >> +			memcpy(sctx->buffer + partial, data, p);
> >> +			data += p;
> >> +			len -= p;
> >> +
> >> +			__sha1_transform(sctx->state, sctx->buffer);
> >> +		}
> >> +
> >> +		blocks = len / SHA1_BLOCK_SIZE;
> >> +		len %= SHA1_BLOCK_SIZE;
> >> +
> >> +		if (blocks) {
> >> +			while (blocks--) {
> >> +				__sha1_transform(sctx->state, data);
> >> +				data += SHA1_BLOCK_SIZE;
> >> +			}
> >> +		}
> >> +		partial = 0;
> >> +	}
> >> +
> > 
> > out:
> > 
> >> +	if (len)
> >> +		memcpy(sctx->buffer + partial, data, len);
> > 
> > Why not just memcpy() unconditionally?
> > 
>
> ... and this.

It only adds complexity with no gain.

>
> >> +}
> >> +
> >> +static void 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;
> >> +
> >> +		__sha1_transform(sctx->state, sctx->buffer);
> >> +	}
> >> +
> >> +	memset(sctx->buffer + partial, 0x0, bit_offset - partial);
> >> +	*bits = cpu_to_be64(sctx->count << 3);
> >> +	__sha1_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){};
> >> +}
> >> +
> >> +void sha1(const u8 *data, unsigned int len, u8 *out)
> >> +{
> >> +	struct sha1_state sctx = {0};
> >> +
> >> +	sha1_init(sctx.state);
> >> +	sctx.count = 0;
> > 
> > Hmm... so shouldn't C99 take care of this given the initialization
> > above? I'm not 100% sure here. I.e. given "= {0}", shouldn't this
> > already be zero?
>
> Yes it seems so. We will look at changing that.

Yeah, AFAIK C99 should zero out anything remaining.

>
> > 
> >> +	sha1_update(&sctx, data, len);
> >> +	sha1_final(&sctx, out);
> >> +}
> >> +EXPORT_SYMBOL(sha1);
> >> +
> >>   MODULE_LICENSE("GPL");
> > 
> > BR, Jarkko
>
> Thanks
> Ross

BR, Jarkko

  reply	other threads:[~2024-06-04 22:41 UTC|newest]

Thread overview: 217+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-31  1:03 [PATCH v9 00/19] x86: Trenchboot secure dynamic launch Linux kernel support Ross Philipson
2024-05-31  1:03 ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 01/19] x86/boot: Place kernel_info at a fixed offset Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 18:18   ` Jarkko Sakkinen
2024-06-04 18:18     ` Jarkko Sakkinen
2024-06-04 20:28     ` ross.philipson
2024-06-04 20:28       ` ross.philipson
2024-05-31  1:03 ` [PATCH v9 02/19] Documentation/x86: Secure Launch kernel documentation Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 03/19] x86: Secure Launch Kconfig Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 04/19] x86: Secure Launch Resource Table header file Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 18:21   ` Jarkko Sakkinen
2024-06-04 18:21     ` Jarkko Sakkinen
2024-06-04 20:31     ` ross.philipson
2024-06-04 20:31       ` ross.philipson
2024-06-04 22:36       ` Jarkko Sakkinen
2024-06-04 22:36         ` Jarkko Sakkinen
2024-06-04 23:00         ` ross.philipson
2024-06-04 23:00           ` ross.philipson
2024-06-05  0:22           ` Jarkko Sakkinen
2024-06-05  0:22             ` Jarkko Sakkinen
2024-06-05  0:27             ` Jarkko Sakkinen
2024-06-05  0:27               ` Jarkko Sakkinen
2024-06-05  2:33             ` ross.philipson
2024-06-05  2:33               ` ross.philipson
2024-06-05  4:04               ` Jarkko Sakkinen
2024-06-05  4:04                 ` Jarkko Sakkinen
2024-06-05 19:03                 ` ross.philipson
2024-06-05 19:03                   ` ross.philipson
2024-06-06  6:02                   ` Jarkko Sakkinen
2024-06-06  6:02                     ` Jarkko Sakkinen
2024-06-06 16:49                     ` ross.philipson
2024-06-06 16:49                       ` ross.philipson
2024-06-20  0:18                       ` Jarkko Sakkinen
2024-06-20  0:18                         ` Jarkko Sakkinen
2024-06-20 16:55                         ` ross.philipson
2024-06-20 16:55                           ` ross.philipson
2024-05-31  1:03 ` [PATCH v9 05/19] x86: Secure Launch main " Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 18:24   ` Jarkko Sakkinen
2024-06-04 18:24     ` Jarkko Sakkinen
2024-06-04 20:52     ` ross.philipson
2024-06-04 20:52       ` ross.philipson
2024-05-31  1:03 ` [PATCH v9 06/19] x86: Add early SHA-1 support for Secure Launch early measurements Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  2:16   ` Eric Biggers
2024-05-31  2:16     ` Eric Biggers
2024-05-31 13:54     ` Eric W. Biederman
2024-05-31 13:54       ` Eric W. Biederman
2024-08-15 17:38       ` Daniel P. Smith
2024-08-15 17:38         ` Daniel P. Smith
2024-08-15 19:10         ` Thomas Gleixner
2024-08-15 19:10           ` Thomas Gleixner
2024-08-16 10:42           ` Jarkko Sakkinen
2024-08-16 10:42             ` Jarkko Sakkinen
2024-08-16 11:01           ` Andrew Cooper
2024-08-16 11:01             ` Andrew Cooper
2024-08-16 11:22             ` Jarkko Sakkinen
2024-08-16 11:22               ` Jarkko Sakkinen
2024-08-16 18:41               ` Matthew Garrett
2024-08-16 18:41                 ` Matthew Garrett
2024-08-19 18:05                 ` Jarkko Sakkinen
2024-08-19 18:05                   ` Jarkko Sakkinen
2024-08-19 18:24                   ` Matthew Garrett
2024-08-19 18:24                     ` Matthew Garrett
2024-08-20 15:26                     ` Jarkko Sakkinen
2024-08-20 15:26                       ` Jarkko Sakkinen
2024-08-22 18:29           ` Daniel P. Smith
2024-08-22 18:29             ` Daniel P. Smith
2026-02-20 15:35             ` Ard Biesheuvel
2026-02-23 23:08               ` Andrew Cooper
2026-02-24  8:25                 ` Ard Biesheuvel
2024-08-29  3:17           ` Andy Lutomirski
2024-08-29  3:17             ` Andy Lutomirski
2024-08-29  3:25             ` Matthew Garrett
2024-08-29  3:25               ` Matthew Garrett
2024-08-29 17:26               ` Andy Lutomirski
2024-08-29 17:26                 ` Andy Lutomirski
2024-09-05  1:01             ` Daniel P. Smith
2024-09-05  1:01               ` Daniel P. Smith
2024-09-13  0:34               ` Daniel P. Smith
2024-09-13  0:34                 ` Daniel P. Smith
2024-09-14  3:57                 ` Andy Lutomirski
2024-09-14  3:57                   ` Andy Lutomirski
2024-09-21 18:36                   ` Daniel P. Smith
2024-09-21 18:36                     ` Daniel P. Smith
2024-09-21 22:40                     ` Andy Lutomirski
2024-09-21 22:40                       ` Andy Lutomirski
2024-11-02 14:53                       ` Daniel P. Smith
2024-11-02 14:53                         ` Daniel P. Smith
2024-11-02 16:04                         ` James Bottomley
2024-11-02 16:04                           ` James Bottomley
2024-11-15  1:17                           ` Daniel P. Smith
2024-11-18 18:43                             ` Andy Lutomirski
2024-11-18 18:50                               ` Andy Lutomirski
2024-11-18 19:12                               ` James Bottomley
2024-11-18 20:02                                 ` Andy Lutomirski
2024-11-21 20:11                                   ` ross.philipson
2024-11-21 20:54                                     ` Andy Lutomirski
2024-11-21 22:42                                       ` Andy Lutomirski
2024-11-22 23:37                                         ` ross.philipson
2024-12-12 19:56                                   ` Daniel P. Smith
2024-12-12 22:30                                     ` Andy Lutomirski
2024-12-14  2:56                                       ` Daniel P. Smith
2024-05-31 16:18     ` ross.philipson
2024-05-31 16:18       ` ross.philipson
2024-08-27 18:14     ` Eric Biggers
2024-08-27 18:14       ` Eric Biggers
2024-08-28 20:14       ` ross.philipson
2024-08-28 20:14         ` ross.philipson
2024-08-28 23:13         ` Eric Biggers
2024-08-28 23:13           ` Eric Biggers
2024-06-04 18:52   ` Jarkko Sakkinen
2024-06-04 18:52     ` Jarkko Sakkinen
2024-06-04 21:02     ` ross.philipson
2024-06-04 21:02       ` ross.philipson
2024-06-04 22:40       ` Jarkko Sakkinen [this message]
2024-06-04 22:40         ` Jarkko Sakkinen
2024-05-31  1:03 ` [PATCH v9 07/19] x86: Add early SHA-256 " Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 08/19] x86: Secure Launch kernel early boot stub Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31 11:00   ` Ard Biesheuvel
2024-05-31 11:00     ` Ard Biesheuvel
2024-05-31 13:33     ` Ard Biesheuvel
2024-05-31 13:33       ` Ard Biesheuvel
2024-05-31 14:04       ` Ard Biesheuvel
2024-05-31 14:04         ` Ard Biesheuvel
2024-05-31 16:13         ` Ard Biesheuvel
2024-05-31 16:13           ` Ard Biesheuvel
2024-06-04 17:31         ` ross.philipson
2024-06-04 17:31           ` ross.philipson
2024-06-04 17:24       ` ross.philipson
2024-06-04 17:24         ` ross.philipson
2024-06-04 17:27         ` Ard Biesheuvel
2024-06-04 17:27           ` Ard Biesheuvel
2024-06-04 17:33           ` ross.philipson
2024-06-04 17:33             ` ross.philipson
2024-06-04 20:54             ` Ard Biesheuvel
2024-06-04 20:54               ` Ard Biesheuvel
2024-06-04 21:12               ` ross.philipson
2024-06-04 21:12                 ` ross.philipson
2024-06-04 17:14     ` ross.philipson
2024-06-04 17:14       ` ross.philipson
2024-06-04 19:56   ` Jarkko Sakkinen
2024-06-04 19:56     ` Jarkko Sakkinen
2024-06-04 21:09     ` ross.philipson
2024-06-04 21:09       ` ross.philipson
2024-06-04 22:43       ` Jarkko Sakkinen
2024-06-04 22:43         ` Jarkko Sakkinen
2024-05-31  1:03 ` [PATCH v9 09/19] x86: Secure Launch kernel late " Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 19:58   ` Jarkko Sakkinen
2024-06-04 19:58     ` Jarkko Sakkinen
2024-06-04 21:16     ` ross.philipson
2024-06-04 21:16       ` ross.philipson
2024-06-04 22:45       ` Jarkko Sakkinen
2024-06-04 22:45         ` Jarkko Sakkinen
2024-06-04 19:59   ` Jarkko Sakkinen
2024-06-04 19:59     ` Jarkko Sakkinen
2024-06-04 21:17     ` ross.philipson
2024-06-04 21:17       ` ross.philipson
2024-08-12 19:02     ` ross.philipson
2024-08-12 19:02       ` ross.philipson
2024-08-15 18:35       ` Jarkko Sakkinen
2024-08-15 18:35         ` Jarkko Sakkinen
2024-05-31  1:03 ` [PATCH v9 10/19] x86: Secure Launch SMP bringup support Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 20:05   ` Jarkko Sakkinen
2024-06-04 20:05     ` Jarkko Sakkinen
2024-06-04 21:47     ` ross.philipson
2024-06-04 21:47       ` ross.philipson
2024-06-04 22:46       ` Jarkko Sakkinen
2024-06-04 22:46         ` Jarkko Sakkinen
2024-05-31  1:03 ` [PATCH v9 11/19] kexec: Secure Launch kexec SEXIT support Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 12/19] reboot: Secure Launch SEXIT support on reboot paths Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 13/19] tpm: Protect against locality counter underflow Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 20:12   ` Jarkko Sakkinen
2024-06-04 20:12     ` Jarkko Sakkinen
2024-08-15 18:52     ` Daniel P. Smith
2024-08-15 18:52       ` Daniel P. Smith
2024-05-31  1:03 ` [PATCH v9 14/19] tpm: Ensure tpm is in known state at startup Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 20:14   ` Jarkko Sakkinen
2024-06-04 20:14     ` Jarkko Sakkinen
2024-08-15 19:24     ` Daniel P. Smith
2024-08-15 19:24       ` Daniel P. Smith
2024-05-31  1:03 ` [PATCH v9 15/19] tpm: Make locality requests return consistent values Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 16/19] tpm: Add ability to set the preferred locality the TPM chip uses Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 20:27   ` Jarkko Sakkinen
2024-06-04 20:27     ` Jarkko Sakkinen
2024-06-04 22:14     ` ross.philipson
2024-06-04 22:14       ` ross.philipson
2024-06-04 22:50       ` Jarkko Sakkinen
2024-06-04 22:50         ` Jarkko Sakkinen
2024-06-04 23:04         ` ross.philipson
2024-06-04 23:04           ` ross.philipson
2024-05-31  1:03 ` [PATCH v9 17/19] tpm: Add sysfs interface to allow setting and querying the preferred locality Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-06-04 20:27   ` Jarkko Sakkinen
2024-06-04 20:27     ` Jarkko Sakkinen
2024-05-31  1:03 ` [PATCH v9 18/19] x86: Secure Launch late initcall platform module Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31  1:03 ` [PATCH v9 19/19] x86: EFI stub DRTM launch support for Secure Launch Ross Philipson
2024-05-31  1:03   ` Ross Philipson
2024-05-31 11:09   ` Ard Biesheuvel
2024-05-31 11:09     ` Ard Biesheuvel
2024-06-04 17:22     ` ross.philipson
2024-06-04 17:22       ` ross.philipson

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=D1RLF3R9YVB0.3LGEH553O8HEL@kernel.org \
    --to=jarkko@kernel.org \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ardb@kernel.org \
    --cc=baolu.lu@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=dpsmith@apertussolutions.com \
    --cc=dwmw2@infradead.org \
    --cc=ebiederm@xmission.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=hpa@zytor.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jgg@ziepe.ca \
    --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=peterhuewe@gmx.de \
    --cc=ross.philipson@oracle.com \
    --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: 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.