From: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@linux.intel.com>
To: yangge1116@126.com, ardb@kernel.org
Cc: jarkko@kernel.org, James.Bottomley@HansenPartnership.com,
ilias.apalodimas@linaro.org, jgg@ziepe.ca,
linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org, liuzixing@hygon.cn
Subject: Re: [PATCH V6] efi/tpm: Fix the issue where the CC platforms event log header can't be correctly identified
Date: Mon, 14 Jul 2025 06:28:14 -0700 [thread overview]
Message-ID: <89b6b1ba-4f55-4e54-a49d-7dcaddfd503f@linux.intel.com> (raw)
In-Reply-To: <1752290685-22164-1-git-send-email-yangge1116@126.com>
On 7/11/25 8:24 PM, yangge1116@126.com wrote:
> From: Ge Yang <yangge1116@126.com>
>
> Since commit d228814b1913 ("efi/libstub: Add get_event_log() support
> for CC platforms") reuses TPM2 support code for the CC platforms, when
> launching a TDX virtual machine with coco measurement enabled, the
> following error log is generated:
>
> [Firmware Bug]: Failed to parse event in TPM Final Events Log
>
> Call Trace:
> efi_config_parse_tables()
> efi_tpm_eventlog_init()
> tpm2_calc_event_log_size()
> __calc_tpm2_event_size()
>
> The pcr_idx value in the Intel TDX log header is 1, causing the function
> __calc_tpm2_event_size() to fail to recognize the log header, ultimately
> leading to the "Failed to parse event in TPM Final Events Log" error.
>
> Intel misread the spec and wrongly sets pcrIndex to 1 in the header and
> since they did this, we fear others might, so we're relaxing the header
> check. There's no danger of this causing problems because we check for
> the TCG_SPECID_SIG signature as the next thing.
>
> Fixes: d228814b1913 ("efi/libstub: Add get_event_log() support for CC platforms")
> Signed-off-by: Ge Yang <yangge1116@126.com>
> Cc: stable@vger.kernel.org
> ---
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
>
> V6:
> - improve commit message suggested by James
>
> V5:
> - remove the pcr_index check without adding any replacement checks suggested by James and Sathyanarayanan
>
> V4:
> - remove cc_platform_has(CC_ATTR_GUEST_STATE_ENCRYPT) suggested by Ard
>
> V3:
> - fix build error
>
> V2:
> - limit the fix for CC only suggested by Jarkko and Sathyanarayanan
>
> include/linux/tpm_eventlog.h | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/include/linux/tpm_eventlog.h b/include/linux/tpm_eventlog.h
> index 891368e..05c0ae5 100644
> --- a/include/linux/tpm_eventlog.h
> +++ b/include/linux/tpm_eventlog.h
> @@ -202,8 +202,7 @@ static __always_inline u32 __calc_tpm2_event_size(struct tcg_pcr_event2_head *ev
> event_type = event->event_type;
>
> /* Verify that it's the log header */
> - if (event_header->pcr_idx != 0 ||
> - event_header->event_type != NO_ACTION ||
> + if (event_header->event_type != NO_ACTION ||
> memcmp(event_header->digest, zero_digest, sizeof(zero_digest))) {
> size = 0;
> goto out;
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
next prev parent reply other threads:[~2025-07-14 13:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-12 3:24 [PATCH V6] efi/tpm: Fix the issue where the CC platforms event log header can't be correctly identified yangge1116
2025-07-14 5:26 ` Ard Biesheuvel
2025-07-14 13:28 ` Sathyanarayanan Kuppuswamy [this message]
2025-07-15 20:51 ` James Bottomley
-- strict thread matches above, loose matches on Subject: below --
2025-12-09 2:45 Richard Lyu
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=89b6b1ba-4f55-4e54-a49d-7dcaddfd503f@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=ardb@kernel.org \
--cc=ilias.apalodimas@linaro.org \
--cc=jarkko@kernel.org \
--cc=jgg@ziepe.ca \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuzixing@hygon.cn \
--cc=stable@vger.kernel.org \
--cc=yangge1116@126.com \
/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.