<feed xmlns='http://www.w3.org/2005/Atom'>
<title>efi-boot-shim.git/lib, branch 15.5-rc2</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=15.5-rc2</id>
<link rel='self' href='https://git.amelek.net/vyos/efi-boot-shim.git/atom?h=15.5-rc2'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/'/>
<updated>2021-12-10T22:08:21+00:00</updated>
<entry>
<title>Minor coverity fixes</title>
<updated>2021-12-10T22:08:21+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-12-09T22:21:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=d0df9304c7a777557e1925dc9f75406ec00e6179'/>
<id>urn:sha1:d0df9304c7a777557e1925dc9f75406ec00e6179</id>
<content type='text'>
- one missing free
- one minor deadcode issue
- two unchecked allocations
- one debug hexdump of a variable we just freed

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>console: add a clear_screen() primitive</title>
<updated>2021-10-12T14:40:13+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-09-16T20:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=35ca373d20fbeeb80aff2202077d614bc89575c0'/>
<id>urn:sha1:35ca373d20fbeeb80aff2202077d614bc89575c0</id>
<content type='text'>
Several places in e.g. MokManager and our console library use
ST-&gt;ConOut-&gt;ClearScreen directly, without checking for the existence of
a console output device.

This patch adds function to our console library to do that correctly,
instead of using the bug-prone ad hoc implementation everywhere.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>console: check that ST-&gt;ConIn and ST-&gt;ConOut are non-NULL</title>
<updated>2021-10-12T14:40:13+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-09-16T20:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=1872c929cc3a466c75336307901e67917bcc46bc'/>
<id>urn:sha1:1872c929cc3a466c75336307901e67917bcc46bc</id>
<content type='text'>
There's been some discussion on how to handle machines without console
devices.  The consensus so far has been that they should have dummy
ConOut implementations, but that means the first vendor to build a
machine without asking around is in for some surprises.

This patch makes the places where our console library uses ST-&gt;ConIn or
ST-&gt;ConOut check that they're present before doing so.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>shim/mm/fb: move global state to its own source file</title>
<updated>2021-09-07T21:05:04+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-07-23T18:18:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=cae5e2f7c100bc9e8f07de62353021d6737a50ee'/>
<id>urn:sha1:cae5e2f7c100bc9e8f07de62353021d6737a50ee</id>
<content type='text'>
This moves the globals from shim.c (and lib/console.c) into their own
file, to make it so that unit tests can more easily link against code
that uses that state.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>cleanup: always use BS and RT, not gBS and gRT</title>
<updated>2021-09-07T21:05:04+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-07-23T18:28:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=6ea93a28759d754778e483f86f95587a01c5fee8'/>
<id>urn:sha1:6ea93a28759d754778e483f86f95587a01c5fee8</id>
<content type='text'>
This just makes one less thing we have to make sure is the same between
the test harnesses and the runtime code.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Make CopyMem() work with EFI's declaration</title>
<updated>2021-09-07T21:05:04+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-08-04T17:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=e13ac7386ea425c9222e05a2f9879d5af5cb91f6'/>
<id>urn:sha1:e13ac7386ea425c9222e05a2f9879d5af5cb91f6</id>
<content type='text'>
EFI_BOOT_SERVICES includes CopyMem() and SetMem() functions which are
marked EFIAPI, and in the case of CopyMem() does not mark the source
argument as CONST.

This patch makes all our invocations work with that, so (once gnu-efi's
implementation is fixed to match) we can use the existing implementation
as the implementation in a mock EFI_BOOT_SERVICES.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Make test cases link against libefi.a</title>
<updated>2021-07-20T13:44:25+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-07-15T14:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=f1ef8dffd374048fbf8dd584923c42e5a784bbf2'/>
<id>urn:sha1:f1ef8dffd374048fbf8dd584923c42e5a784bbf2</id>
<content type='text'>
This allows us to use library functions from libefi.a in our test
programs.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Make building outside of the top directory work.</title>
<updated>2021-03-25T18:36:53+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-24T21:51:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=8578b75f9c18fd267c8a0746192ab3f051561df2'/>
<id>urn:sha1:8578b75f9c18fd267c8a0746192ab3f051561df2</id>
<content type='text'>
This also makes the cross-build targets (and not the others) /use/ this
functionality, so we'll catch it if we break it again.

This fixes issue #340.

Signed-off-by: Peter Jones &lt;pjones@redhat.com&gt;
</content>
</entry>
<entry>
<title>Fix boot failures due to variable size constraints</title>
<updated>2021-03-22T20:44:03+00:00</updated>
<author>
<name>Chris Coulson</name>
<email>chris.coulson@canonical.com</email>
</author>
<published>2021-03-19T16:50:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=f9294c2fa9feaf5353c0b7a4a7ce102a820c1a3f'/>
<id>urn:sha1:f9294c2fa9feaf5353c0b7a4a7ce102a820c1a3f</id>
<content type='text'>
There are multiple issues in the MOK variable mirroring code due
to volatile variable size constraints, which all result in boot
failures:

- If a signature is encountered which doesn't fit in to a single
variable, the code enters an infinite loop because the cursor
isn't advanced in mirror_mok_db() after the call to
mirror_one_esl().

- If an ESL is encountered which doesn't fit in to a single
variable, it looks like the intention is for the ESL to be split
across multiple variables. However, mirror_one_esl() will write
the maximum variable size on each call, regardless of how much
data is remaining for the current ESL. If the size of a ESL isn't
a multiple of the maximum variable size, the final call to
mirror_one_esl() will append data from the start of the next
ESL and the cursor in mirror_mok_db() will be advanced to an
arbitrary location in the next ESL. This either results in garbage
being mirrored (if you're lucky), or in my case - another infinite
loop as it appears to encounter a signature that doesn't fit in to
a single variable.

- If no signatures can be mirrored when mirror_mok_db() is called
with only_first=TRUE, it tries to create a variable with a single
SHA256 signature in it. But mirror_mok_db() returns an error
(EFI_INVALID_PARAMETER) regardless of whether this succeeds.
</content>
</entry>
<entry>
<title>Make 'make test' work on gcc 4.8.5</title>
<updated>2021-03-22T20:43:44+00:00</updated>
<author>
<name>Peter Jones</name>
<email>pjones@redhat.com</email>
</author>
<published>2021-03-21T19:57:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/efi-boot-shim.git/commit/?id=33db42def2ce6fe040b5f77642347e8b3c6420e5'/>
<id>urn:sha1:33db42def2ce6fe040b5f77642347e8b3c6420e5</id>
<content type='text'>
</content>
</entry>
</feed>
