<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/lib/efi_loader, branch v2021.04-rc3</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/lib/efi_loader?h=v2021.04-rc3</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/lib/efi_loader?h=v2021.04-rc3'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2021-02-26T15:17:43Z</updated>
<entry>
<title>efi_loader: limit output length for VenHw, VenMedia</title>
<updated>2021-02-26T15:17:43Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2021-02-23T20:15:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9c081a7eabd4e5f54bd692df722705bc5ec57891'/>
<id>urn:sha1:9c081a7eabd4e5f54bd692df722705bc5ec57891</id>
<content type='text'>
VenHw and VenMedia device path nodes may carry vendor defined data of
arbitrary length. When converting a device path node to text ensure that we
do not overrun our internal buffer.

In our implementation of
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL.ConvertDevicePathToText() we could first
determine the output length and then allocate buffers but that would nearly
double the code size. Therefore keep the preallocated buffers and truncate
excessive device paths instead.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: ACPI tables must be in EfiACPIReclaimMemory</title>
<updated>2021-02-26T15:17:43Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2021-02-21T09:16:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=992b1731e6afc9ae4507e3ae22b6bcd1f2cb4ffc'/>
<id>urn:sha1:992b1731e6afc9ae4507e3ae22b6bcd1f2cb4ffc</id>
<content type='text'>
The UEFI spec does not allow ACPI tables to be in runtime services memory.
It recommends EfiACPIReclaimMemory.

Remove a superfluous check that the allocated pages are 16 byte aligned.
EFI pages are 4 KiB aligned.

Fixes: 86df34d42b05 ("efi_loader: Install ACPI configuration tables")
Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: multi part device paths to text</title>
<updated>2021-02-21T08:21:35Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2021-02-18T17:30:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=bd3d75bb0c5801e2079efbfc3bca942112811893'/>
<id>urn:sha1:bd3d75bb0c5801e2079efbfc3bca942112811893</id>
<content type='text'>
Our current implementation of
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL.ConvertDevicePathToText() truncates multi
part device paths after the first part. We should convert all parts.

Render device path instance ends as commas. This is not explicitly
described in the UEFI spec but mimics what EDK II does.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
Reviewed-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
</content>
</entry>
<entry>
<title>Allow last block to be read</title>
<updated>2021-02-21T08:21:35Z</updated>
<author>
<name>Jesper Schmitz Mouridsen</name>
<email>jesper@schmitz.computer</email>
</author>
<published>2021-02-09T16:17:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e67beffee0795fbe3c2c6e65d9b63eb2b96897a2'/>
<id>urn:sha1:e67beffee0795fbe3c2c6e65d9b63eb2b96897a2</id>
<content type='text'>
The last block is of size media-&gt;block_size

Signed-off-by: Jesper Schmitz Mouridsen &lt;jesper@schmitz.computer&gt;

Simplify expression.
Apply same change to efi_disk_write_blocks().

Reviewed-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>Merge branch '2021-02-02-drop-asm_global_data-when-unused'</title>
<updated>2021-02-15T15:16:45Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2021-02-15T13:19:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2ae80437fbe0181184ae4b188b89629b902702c6'/>
<id>urn:sha1:2ae80437fbe0181184ae4b188b89629b902702c6</id>
<content type='text'>
- Merge the patch to take &lt;asm/global_data.h&gt; out of &lt;common.h&gt;
</content>
</entry>
<entry>
<title>efi_loader: fix get_last_capsule()</title>
<updated>2021-02-14T09:34:15Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2021-02-09T19:20:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=15bbcafab1cb35614cd8d6fa52f0e90a894c1af5'/>
<id>urn:sha1:15bbcafab1cb35614cd8d6fa52f0e90a894c1af5</id>
<content type='text'>
fix get_last_capsule() leads to writes beyond the stack allocated buffer.
This was indicated when enabling the stack protector.

utf16_utf8_strcpy() only stops copying when reaching '\0'. The current
invocation always writes beyond the end of value[].

The output length of utf16_utf8_strcpy() may be longer than the number of
UTF-16 tokens. E.g has "CapsuleКиев" has 11 UTF-16 tokens but 15 UTF-8
tokens. Hence, using utf16_utf8_strcpy() without checking the input may
lead to further writes beyond value[].

The current invocation of strict_strtoul() reads beyond the end of value[].

A non-hexadecimal value after "Capsule" (e.g. "CapsuleZZZZ") must result in
an error. We cat catch this by checking the return value of strict_strtoul().

A value that is too short after "Capsule" (e.g. "Capsule0") must result in
an error. We must check the string length of value[].

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: '.' and '..' are directories</title>
<updated>2021-02-14T09:34:15Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2021-02-09T16:45:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=841f7a4ebbe76c7843a864a5f9ca8f5f95a23df8'/>
<id>urn:sha1:841f7a4ebbe76c7843a864a5f9ca8f5f95a23df8</id>
<content type='text'>
'.' and '..' are directories. So when looking for capsule files it is
sufficient to check that the attribute EFI_FILE_DIRECTORY is not set. We
don't have to check for these special names.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: don't load beyond VirtualSize</title>
<updated>2021-02-14T09:34:15Z</updated>
<author>
<name>Asherah Connor</name>
<email>ashe@kivikakk.ee</email>
</author>
<published>2021-02-09T06:19:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9d30a941cce5ed055da18398f4deba18830d00d6'/>
<id>urn:sha1:9d30a941cce5ed055da18398f4deba18830d00d6</id>
<content type='text'>
PE section table entries' SizeOfRawData must be a multiple of
FileAlignment, and thus may be rounded up and larger than their
VirtualSize.

We should not load beyond the VirtualSize, which is "the total size of
the section when loaded into memory" -- we may clobber real data at the
target in some other section, since we load sections in reverse order
and sections are usually laid out sequentially.

Signed-off-by: Asherah Connor &lt;ashe@kivikakk.ee&gt;
Reviewed-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: VenMedia device path node</title>
<updated>2021-02-04T19:12:41Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2021-02-03T17:46:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=02fc018a35c6f25d779ea86c735d266a6b121201'/>
<id>urn:sha1:02fc018a35c6f25d779ea86c735d266a6b121201</id>
<content type='text'>
The Load File2 protocol exposes a device path with a VenMedia() node. Hence
our implementation of the device path to text protocol should support this
node.

Cc: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
<entry>
<title>efi_loader: install UEFI System Partition GUID</title>
<updated>2021-02-04T19:09:02Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>xypron.glpk@gmx.de</email>
</author>
<published>2021-02-02T16:53:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b9b0ea30c70bf37cc172604c67e6e9c5548870c1'/>
<id>urn:sha1:b9b0ea30c70bf37cc172604c67e6e9c5548870c1</id>
<content type='text'>
On the handle for the UEFI System Partition we must install the System
Partition GUID (with a NULL interface).

Let the efidebug command display the GUID.

Signed-off-by: Heinrich Schuchardt &lt;xypron.glpk@gmx.de&gt;
</content>
</entry>
</feed>
