<feed xmlns='http://www.w3.org/2005/Atom'>
<title>efi-boot-shim.git/include/mok.h, 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-02-26T14:39:46+00:00</updated>
<entry>
<title>Some save_logs() improvements.</title>
<updated>2025-02-26T14:39:46+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2025-02-25T19:33:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=9c423e09cd9a0196888253b16fe7022deadc20fc'/>
<id>urn:sha1:9c423e09cd9a0196888253b16fe7022deadc20fc</id>
<content type='text'>
In d972515e608e ("Save the debug and error logs in mok-variables") had a
few deficiencies: 1) the size of the result table isn't correctly
computed when either errlog or dbglog is 0 sized (much more likely for
the former), 2) when we save the error log we leak the allocation for
the previous mok variables, and 3) original mok variables were allocated
with AllocatePages(), but the new ones were allocated with
AllocateZeroPool().  The former guarantees page alignment, which we want
here.

This fixes all three of these.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add shim's current NX_COMPAT status to HSIStatus</title>
<updated>2025-02-26T00:40:54+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2025-02-21T00:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=89e615081af5fbafefeae5b09def3a003e467838'/>
<id>urn:sha1:89e615081af5fbafefeae5b09def3a003e467838</id>
<content type='text'>
hughsie asked me to also make it observable at runtime whether the shim
binary that was used to boot was set as NX_COMPAT or not.

This adds that into the HSIStatus data as "shim-has-nx-compat-set".

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add DXE Services information to HSI</title>
<updated>2025-02-24T20:58:16+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2025-02-20T19:44:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=9269e9b0aa15ae9832f7eba6c5eeef0c5e1f4edb'/>
<id>urn:sha1:9269e9b0aa15ae9832f7eba6c5eeef0c5e1f4edb</id>
<content type='text'>
This adds three more entries to our HSI data:

has-dxe-services-table: technically only tells us if UEFI's
			LocateProtocol will give us a DXE services
			table, but practically also tells us if the
			machine is implementing DXE in any way.
has-get-memory-space-descriptor: tells us if DXE-&gt;GetMemorySpaceDescriptor
                                 is populated
has-set-memory-space-descriptor: tells us if DXE-&gt;SetMemorySpaceDescriptor
                                 is populated

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Move mok state variable data flag definitions to the header.</title>
<updated>2025-02-24T20:26:20+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2025-02-18T20:10:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=b216543d691050d6cdd37c3500571cf67882f1bc'/>
<id>urn:sha1:b216543d691050d6cdd37c3500571cf67882f1bc</id>
<content type='text'>
Previously the mok mirror state flags were only used in the mok
mirroring code.  But there are other consumers of that data, namely our
variable test cases, and it's useful for them to be able to check the
flags.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>shim: add HSIStatus feature</title>
<updated>2025-02-24T20:24:24+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2024-05-15T20:13:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=848667d0f3a99401d93c93b3af16b55e3fb28cea'/>
<id>urn:sha1:848667d0f3a99401d93c93b3af16b55e3fb28cea</id>
<content type='text'>
hughsie asked me if I can make shim tell userland what kinds of accesses
are allowed to the heap, stack, and allocations on the running platform,
so that these could be reported up through fwupd's Host Security ID
program (see https://fwupd.github.io/libfwupdplugin/hsi.html ).

This adds a new config-only (i.e. not a UEFI variable) variable
generated during boot, "/sys/firmware/efi/mok-variables/HSIStatus",
which tells us those properties as well as if the EFI Memory Attribute
Protocol is present.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>mok variables: add a format callback</title>
<updated>2025-02-24T20:24:24+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2024-05-15T20:01:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=887c0edab93c52e2558047897847166b73dc8c3a'/>
<id>urn:sha1:887c0edab93c52e2558047897847166b73dc8c3a</id>
<content type='text'>
This adds a member to the mok_state_variable struct to provide a
callback function for formatting external data.  It basically has
snprintf()-like semantics for filling the buffer, but without the actual
printf-like formatting bits.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>mok: add MOK_VARIABLE_CONFIG_ONLY</title>
<updated>2025-02-24T20:24:24+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2024-05-15T20:13:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=49db3de08ef2c55f6dbc3c2b8e6ab7b2f22e5309'/>
<id>urn:sha1:49db3de08ef2c55f6dbc3c2b8e6ab7b2f22e5309</id>
<content type='text'>
This adds a mok variable flag "MOK_VARIABLE_CONFIG_ONLY" to specify that
the data should be added to our UEFI config table, but shim should not
create a legacy UEFI variable.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Add MokPolicy variable and MOK_POLICY_REQUIRE_NX</title>
<updated>2022-05-17T23:01:03+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2022-03-31T20:19:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=df96f48f28fa94b62d06f39a3b014133dd38def5'/>
<id>urn:sha1:df96f48f28fa94b62d06f39a3b014133dd38def5</id>
<content type='text'>
This adds a new MoK variable, MokPolicy (&amp;MokPolicyRT) that's intended
as a bitmask of machine owner policy choices, and the bit
MOK_POLICY_REQUIRE_NX.  This bit specifies whether it is permissible to
load binaries which do not support NX mitigations, and it currently
defaults to allowing such binaries to be loaded.

The broader intention here is to migrate all of the MoK policy variables
that are really just on/off flags to this variable.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Load additional certs from a signed binary</title>
<updated>2022-05-17T22:30:52+00:00</updated>
<author>
<name>Eric Snowberg</name>
<email>eric.snowberg@oracle.com</email>
</author>
<published>2022-02-01T20:49:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=35d7378d29b9ad6f664df20efc4121e210859e65'/>
<id>urn:sha1:35d7378d29b9ad6f664df20efc4121e210859e65</id>
<content type='text'>
Heavily inspired by Matthew Garrett's patch "Allow additional certificates
to be loaded from a signed binary".

Add support for loading a binary, verifying its signature, and then
scanning it for embedded certificates. This is intended to make it
possible to decouple shim builds from vendor signatures. In order to
add new signatures to shim, an EFI Signature List should be generated
and then added to the .db section of a well-formed EFI binary. This
binary should then be signed with a key that shim already trusts (either
a built-in key, one present in the platform firmware or
one present in MOK) and placed in the same directory as shim with a
filename starting "shim_certificate" (eg, "shim_certificate_oracle").

Shim will read multiple files and incorporate the signatures from all of
them. Note that each section *must* be an EFI Signature List, not a raw
certificate.

Signed-off-by: Eric Snowberg &lt;eric.snowberg@oracle.com&gt;
</content>
</entry>
<entry>
<title>mok: move the mok_state_variables definitions to their own header</title>
<updated>2021-09-07T21:05:04+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-07-23T17:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=3cc53c788ed2c540889da8b01d681103dda39e92'/>
<id>urn:sha1:3cc53c788ed2c540889da8b01d681103dda39e92</id>
<content type='text'>
This lets us access the definitions for this structure, and the data
being used at runtime, from unit tests.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
</feed>
