<feed xmlns='http://www.w3.org/2005/Atom'>
<title>efi-boot-shim.git/tpm.c, branch rolling</title>
<subtitle> (mirror of https://github.com/vyos/efi-boot-shim.git)
</subtitle>
<id>https://git.amelek.net/vyos/efi-boot-shim.git/atom?h=rolling</id>
<link rel='self' href='https://git.amelek.net/vyos/efi-boot-shim.git/atom?h=rolling'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/'/>
<updated>2025-01-17T19:47:31+00:00</updated>
<entry>
<title>tpm: Boot with a warning if the event log is full</title>
<updated>2025-01-17T19:47:31+00:00</updated>
<author>
<name>Mate Kukri</name>
<email>mate.kukri@canonical.com</email>
</author>
<published>2024-10-22T07:35:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=3e6089582206f868dc6aba828c2b5f6490ed2777'/>
<id>urn:sha1:3e6089582206f868dc6aba828c2b5f6490ed2777</id>
<content type='text'>
The extend operation still occurs even if `*_log_extend_event`
returns EFI_VOLUME_FULL.

Let's print a warning when we first see this error code, but otherwise
continue booting.

Bailing on this condition has caused machines with limited event log
space to become unbootable with TPM 2.0 enabled. (fixes #654)

Signed-off-by: Mate Kukri &lt;mate.kukri@canonical.com&gt;
</content>
</entry>
<entry>
<title>Enable TDX measurement to RTMR register</title>
<updated>2022-08-16T21:45:30+00:00</updated>
<author>
<name>Lu Ken</name>
<email>ken.lu@intel.com</email>
</author>
<published>2022-05-22T08:02:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=4fd484e4c29364b4fdf4d043556fa0a210c5fdfc'/>
<id>urn:sha1:4fd484e4c29364b4fdf4d043556fa0a210c5fdfc</id>
<content type='text'>
Intel Trust Domain Extensions (Intel TDX) extends Virtual Machine
Extensions (VMX) and Multi-Key Total Memory Encryption (MK-TME) with a
new kind of virtual machine guest called a Trust Domain(TD)[1].  A TD
runs in a CPU mode that is designed to protect the confidentiality of
its memory contents and its CPU state from any other software, including
the hosting Virtual Machine Monitor (VMM).

Trust Domain Virtual Firmware (TDVF) is required to provide Intel TDX
implementation and service for EFI_CC_MEASUREMENT_PROTOCOL[2]. The bugzilla
for TDVF is at https://bugzilla.tianocore.org/show_bug.cgi?id=3625.

To support CC measurement/attestation with Intel TDX technology, these 4
RTMR registers will be extended by TDX service like TPM/TPM2 PCR:

- RTMR[0] for TDVF configuration
- RTMR[1] for the TD OS loader and kernel
- RTMR[2] for the OS application
- RTMR[3] reserved for special usage only

Add a TDX Implementation for CC Measurement protocol along with
TPM/TPM2 protocol.

References:
[1] https://software.intel.com/content/dam/develop/external/us/en/documents/tdx-whitepaper-v4.pdf
[2] https://software.intel.com/content/dam/develop/external/us/en/documents/tdx-virtual-firmware-design-guide-rev-1.pdf
[3] https://software.intel.com/content/dam/develop/external/us/en/documents/intel-tdx-guest-hypervisor-communication-interface-1.0-344426-002.pdf

Signed-off-by: Lu Ken &lt;ken.lu@intel.com&gt;
[rharwood: style pass on code and commit message]
Signed-off-by: Robbie Harwood &lt;rharwood@redhat.com&gt;
</content>
</entry>
<entry>
<title>Don't make shim abort when TPM log event fails (RHBZ #2002265)</title>
<updated>2021-09-13T19:02:13+00:00</updated>
<author>
<name>Renaud Métrich</name>
<email>rmetrich@redhat.com</email>
</author>
<published>2021-09-08T12:02:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=11740ea761ac5a1eb84c865edbdcd750f2a8b04f'/>
<id>urn:sha1:11740ea761ac5a1eb84c865edbdcd750f2a8b04f</id>
<content type='text'>
On Dell hardware booted in UEFI with option TPM 1.2 "On without Pre-Boot
Measurements", it appears that `tpm_log_event()` fails with Unsupported,
which causes Shim to abort due to believing it couldn't set up the
MokListRT, MokListXRT and SbatLevelRT variables.

This patch ignore the error when trying to write to the TPM and sets the
TPM as 'defective' to not try to write to it anymore.

Signed-off-by: Renaud Métrich &lt;rmetrich@redhat.com&gt;
</content>
</entry>
<entry>
<title>tpm: free measureddata when SHIM_UNIT_TEST is set</title>
<updated>2021-09-07T21:05:04+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-08-03T21:18:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=11080efc7416c342b8f26ddb6ea1e8ef21026ddc'/>
<id>urn:sha1:11080efc7416c342b8f26ddb6ea1e8ef21026ddc</id>
<content type='text'>
Keep from cluttering up valgrind with allocations that aren't part of
the tested info (yet).

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Restructure our includes.</title>
<updated>2021-03-10T20:54:20+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-09T16:42:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=f033a1da9f4c3acf7e3dfef906d01e348b6fcf42'/>
<id>urn:sha1:f033a1da9f4c3acf7e3dfef906d01e348b6fcf42</id>
<content type='text'>
This re-structures our includes so we can be sure everything is always
including all the system headers in a uniform, predictable way.

Temporarily it also adds a bunch of junk at all the places we use
variadic functions to specifically pick either the MS (cdecl) or ELF
ABIs.

I'm not 100% sure that's all correct (see later patch) but it's enough
to allow this to build.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>tpm: minor cleanup: use EV_IPL not 0xd</title>
<updated>2021-02-22T16:22:36+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-02-18T21:47:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=89ac875e161e5f592f33bf61cb0a2bc58c62951c'/>
<id>urn:sha1:89ac875e161e5f592f33bf61cb0a2bc58c62951c</id>
<content type='text'>
This does two things:
- consolidates all our TPM event type #defines to one place
- uses EV_IPL instead of hard-coding 0xd

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix up a bunch of our license statements and add SPDX most places</title>
<updated>2021-02-16T08:12:48+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2020-12-11T20:54:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=aedb8470bd673385139ac3189ecd9edf4794af16'/>
<id>urn:sha1:aedb8470bd673385139ac3189ecd9edf4794af16</id>
<content type='text'>
The license statements in our source files were getting to be a giant
mess, and mostly they all just say the same thing.  I've switched most
of it to SPDX labels, but left copyright statements in place (where they
were not obviously incorrect copy-paste jobs that I did...).

If there's some change here you don't think is valid, let me know and
we can fix it up together.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix a broken tpm type</title>
<updated>2020-07-24T00:53:24+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2020-07-24T00:35:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=a7f9911b776f3cdc12e42bf5990ddef0b08d3701'/>
<id>urn:sha1:a7f9911b776f3cdc12e42bf5990ddef0b08d3701</id>
<content type='text'>
Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
Upstream: pr#212
</content>
</entry>
<entry>
<title>tpm: Include information about PE/COFF images in the TPM Event Log</title>
<updated>2020-07-24T00:53:24+00:00</updated>
<author>
<name>Javier Martinez Canillas</name>
<email>javierm@redhat.com</email>
</author>
<published>2020-02-18T11:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=0a8f7ade76ff3eede486027eaa638181e6bed3b8'/>
<id>urn:sha1:0a8f7ade76ff3eede486027eaa638181e6bed3b8</id>
<content type='text'>
The "TCG PC Client Specific Platform Firmware Profile Specification" says
that when measuring a PE/COFF image, the TCG_PCR_EVENT2 structure Event
field MUST contain a UEFI_IMAGE_LOAD_EVENT structure.

Currently an empty UEFI_IMAGE_LOAD_EVENT structure is passed so users only
have the hash of the PE/COFF image, but not information such the file path
of the binary.

Signed-off-by: Javier Martinez Canillas &lt;javierm@redhat.com&gt;
Upstream-commit-id: c252b9ee94c
</content>
</entry>
<entry>
<title>tpm: Don't log duplicate identical events</title>
<updated>2020-07-24T00:53:24+00:00</updated>
<author>
<name>Chris Coulson</name>
<email>chris.coulson@canonical.com</email>
</author>
<published>2019-09-26T19:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=58df8d745c6516818ba6ebfa8fe826702c1621a0'/>
<id>urn:sha1:58df8d745c6516818ba6ebfa8fe826702c1621a0</id>
<content type='text'>
According to the comment in tpm_measure_variable ("Don't measure something that we've already measured"), shim
shouldn't measure duplicate events if they are identical, which also aligns with section 2.3.4.8 of the TCG PC
Client Platform Firmware Profile Specification ("If it has been measured previously, it MUST NOT be measured
again"). This is currently broken because tpm_data_measured() uses the return value of CompareGuid() incorrectly.

Upstream-commit-id: 103adc89ce5
</content>
</entry>
</feed>
