<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/lib, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/lib?h=main</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/lib?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-08-29T04:41:23Z</updated>
<entry>
<title>lib: correct list_guid[] array</title>
<updated>2026-08-29T04:41:23Z</updated>
<author>
<name>Heinrich Schuchardt via U-Boot</name>
<email>u-boot@lists.u-boot-project.org</email>
</author>
<published>2026-07-31T10:19:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8932bcad73ed32d276584c6619e26b2e50977ae0'/>
<id>urn:sha1:8932bcad73ed32d276584c6619e26b2e50977ae0</id>
<content type='text'>
The #endif for #if CONFIG_IS_ENABLED(EFI_PARTITION) was misplaced.
CONFIG_EFI_PARTITION=n disabled all entries in list_guid[].

CONFIG_EFI_PARTITION must only control the translation of GUIDs for GPT
partition tables.

Reviewed-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
</content>
</entry>
<entry>
<title>lmb: Return -EFAULT when freeing unallocated memory regions</title>
<updated>2026-08-24T19:58:00Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-08-11T23:16:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=480644c06e202abec58543aec502f218939fff1e'/>
<id>urn:sha1:480644c06e202abec58543aec502f218939fff1e</id>
<content type='text'>
Make lmb_free() return -EFAULT when the requested memory region is not
allocated, instead of the generic -1 error value.

Document the updated error code in the public API comment and change the
LMB unit test to check for the new -EFAULT errno value.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Reviewed-by: Randolph Sapp &lt;rs@ti.com&gt;
</content>
</entry>
<entry>
<title>lmb: Return -EFAULT when requested region is not part of memory map</title>
<updated>2026-08-24T19:58:00Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-08-11T23:16:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=93e5e5f4cbefccab206a79f86e98c2c39a9d2440'/>
<id>urn:sha1:93e5e5f4cbefccab206a79f86e98c2c39a9d2440</id>
<content type='text'>
lmb_alloc_addr() is documented to return -EINVAL when the requested
memory region is not part of the LMB memory map. However, -EINVAL is
also used to e.g. indicate that a NULL pointer is passed as the addr
parameter or when the requested memory region partially overlaps an
existing region.

Change lmb_alloc_addr() to return -EFAULT when the requested memory
region is not part of the LMB memory map to make the type of error known
to callers. Also extend unit tests to validate that the return code has
stay the same when the requested memory region partially overlaps.

No caller of lmb_alloc_addr() is checking what type of error code is
returned, so this change has no intended behavior change.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Reviewed-by: Randolph Sapp &lt;rs@ti.com&gt;
</content>
</entry>
<entry>
<title>Merge patch series "gunzip: Fix spurious Z_BUF_ERROR in chunked gzwrite decompression"</title>
<updated>2026-08-20T18:15:24Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2026-08-20T15:58:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a08e99d33ff3dc2b35e208c05e3f3f324a20b87d'/>
<id>urn:sha1:a08e99d33ff3dc2b35e208c05e3f3f324a20b87d</id>
<content type='text'>
Aristo Chen &lt;aristo.chen@canonical.com&gt; says:

The dm_test_cmd_zip_gzwrite sandbox test occasionally fails in CI
with:

  12582912/16777216
  Error: inflate() returned -5

The chunked decompression loop added in commit 58e523fedf48 ("gunzip:
Implement chunked decompression") treats Z_BUF_ERROR from inflate()
as fatal. When an input chunk is exhausted at exactly the same time
as the write buffer fills up, the next inflate() call is made with
avail_in == 0, cannot make progress, and returns Z_BUF_ERROR. Per the
zlib documentation this only means "no progress was possible" and the
call should be repeated with more input, which is what the reference
implementation in zlib examples/zpipe.c does.

The failure needs the consumed/produced byte counts to line up with
both the chunk size and the write buffer size at once, with no
buffered output on the inflate side, which is why only certain random
payloads trigger it. Note that the failure offset above is a multiple
of the 1 MiB write buffer while gzwrite_chunk was SZ_1M + 1.

Patch 1 makes gzwrite() refill the input chunk in this situation.
Patch 2 adds a deterministic regression test which builds a gzip file
from two stored deflate blocks by hand and aligns the chunk boundary
with the write buffer boundary exactly, failing reliably without
patch 1.

Verified on sandbox and sandbox64:
- dm_test_cmd_gzwrite_chunk_boundary fails with -5 in 20 out of 20
  runs before the fix, passes 100 out of 100 runs after
- dm_test_cmd_zip_gzwrite fails 17 out of 2000 runs (about 1%)
  before the fix, every time with the same signature as the CI
  flake, and passes 2000 out of 2000 runs after
- dm_test_cmd_zip_unzip keeps passing

Link: https://lore.kernel.org/r/20260808004437.4367-1-aristo.chen@canonical.com
</content>
</entry>
<entry>
<title>gunzip: Fix spurious Z_BUF_ERROR in chunked gzwrite decompression</title>
<updated>2026-08-20T15:59:25Z</updated>
<author>
<name>Aristo Chen</name>
<email>aristo.chen@canonical.com</email>
</author>
<published>2026-08-08T00:44:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=58b49a7b54bae6cf524d1c0f17a9285287b91947'/>
<id>urn:sha1:58b49a7b54bae6cf524d1c0f17a9285287b91947</id>
<content type='text'>
The chunked decompression loop in gzwrite() treats any inflate()
return value other than Z_OK and Z_STREAM_END as a fatal error. When
the current input chunk happens to be exhausted at exactly the same
time as the write buffer fills up, the inner loop calls inflate()
again with avail_in == 0. No forward progress is possible in that
state, so inflate() returns Z_BUF_ERROR and gzwrite() bails out:

  Error: inflate() returned -5

Per the zlib documentation, Z_BUF_ERROR is not fatal and only means
that no progress was possible; the call should be repeated once more
input is available. The reference implementation in zlib
examples/zpipe.c continues in this exact situation.

The failure is data dependent: it needs a stream position where the
consumed input and produced output line up with both the chunk and
the write buffer boundary at once, and the inflate side must have no
buffered output. That is most likely with incompressible input, where
deflate emits stored blocks and inflate holds no lookahead bits. This
is how dm_test_cmd_zip_gzwrite occasionally fails in sandbox64 CI on
random data with gzwrite_chunk = SZ_1M + 1, stopping at a multiple of
the 1 MiB write buffer:

  12582912/16777216
  Error: inflate() returned -5

Detect this case and let the outer loop refill the input chunk
instead of failing.

On sandbox64, the random data dm_test_cmd_zip_gzwrite test failed
17 out of 2000 runs (about 1 percent) without this fix, every time
with the same signature as the CI flake, and passed 2000 out of 2000
runs with it.

Fixes: 58e523fedf48 ("gunzip: Implement chunked decompression")
Signed-off-by: Aristo Chen &lt;aristo.chen@canonical.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'net-20260813' of https://git.u-boot-project.org/u-boot/custodians/u-boot-net</title>
<updated>2026-08-13T14:58:29Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2026-08-13T14:58:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=c2ac5fc4e3bc91f59f059f115939d28fe35a7841'/>
<id>urn:sha1:c2ac5fc4e3bc91f59f059f115939d28fe35a7841</id>
<content type='text'>
Pull request net-20260813.

net:
- phy: dp83867: enable extended read / write for driver
- phy: fix duplicate eth_phy binding
- Drop unnecessary device_set_name
- dwc_eth_xgmac: Return -ENODEV when phy_connect() fails
- nfs: clean up bounds checks in nfs_readlink_reply()
- rtl8169: add support for RTL8126A and RTL8127A
- srand_mac(): fix -ENODEV crash with CONFIG_DM_RNG

net-legacy:
- Fix out-of-bounds write in IP fragment reassembly
- test: net: add regression test for IP reassembly overflow

net-lwip:
- Add tftpsrv command
- Handle chained pbufs in transmit path
- sntp: fix netif leak when ntpserverip is unset
- wget: free mbedtls x509 cert context to avoid memory leak
- Fix DHCP fine timer interval
</content>
</entry>
<entry>
<title>fwu: Make boottime check failures visible</title>
<updated>2026-08-03T10:05:21Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@amd.com</email>
</author>
<published>2026-07-07T12:16:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=cd6f2f451903559627f29c563887624f3f386770'/>
<id>urn:sha1:cd6f2f451903559627f29c563887624f3f386770</id>
<content type='text'>
On systems with FWU enabled but without the required DT changes the
boottime checks fail. The failures are only reported via log_debug()
which is compiled out by default, so the user has no idea what is going
on.

Use log_err() to make these failures visible.

Signed-off-by: Michal Simek &lt;michal.simek@amd.com&gt;
Reviewed-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
Signed-off-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
</content>
</entry>
<entry>
<title>efi_loader: fix use of uninitialized guid in variable enumeration loops</title>
<updated>2026-07-31T09:06:37Z</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2026-07-28T19:33:28Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d78ba22ab2df094a659a7ffa85e0787037f7e3a7'/>
<id>urn:sha1:d78ba22ab2df094a659a7ffa85e0787037f7e3a7</id>
<content type='text'>
efi_bootmgr_delete_invalid_boot_option(), eficonfig_show_boot_selection(),
and eficonfig_create_change_boot_order_entry() each enumerate all EFI
variables by repeatedly calling efi_next_variable_name() in a loop,
passing the same efi_guid_t as both input and output. GetNextVariableName()
needs the vendor GUID returned by the previous call, together with the
variable name it returned, to know where to resume.

In each of these loops the efi_guid_t was declared inside the loop body,
so a new instance comes into scope on every iteration. Relying on it to
still hold the previous iteration's value depends on the compiler reusing
the same stack slot across iterations, which is undefined behavior. With
a compiler that zero-initializes locals by default (e.g. clang, or gcc
configured with -ftrivial-auto-var-init=zero), the GUID is cleared on
every iteration, so the lookup of the variable name returned by the
previous call fails and efi_init_obj_list() aborts:

  Cannot initialize UEFI sub-system
  ** Booting bootflow ... with efi
  Boot failed (err=-22)

Move the efi_guid_t declarations out of the loops so the value written
by the previous efi_next_variable_name() call is preserved across
iterations.

Fixes: 140a8959d48f ("eficonfig: use efi_get_next_variable_name_int()")
Signed-off-by: Scott Moser &lt;smoser@brickies.net&gt;
Reviewed-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
</content>
</entry>
<entry>
<title>efi_loader: fix memory leak in efi_sigstore_parse_siglist</title>
<updated>2026-07-31T09:00:44Z</updated>
<author>
<name>Heinrich Schuchardt</name>
<email>heinrich.schuchardt@canonical.com</email>
</author>
<published>2026-07-27T11:45:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2f61c8b0689c501659831a5c00601822f3ae9f27'/>
<id>urn:sha1:2f61c8b0689c501659831a5c00601822f3ae9f27</id>
<content type='text'>
In case of an error in efi_sigstore_parse_siglist() function
efi_sigstore_free() is called. Currently it fails to free allocated data
because siglist-&gt;sig_data_list is not set on the error path.

Always update siglist-&gt;sig_data_list when a struct efi_sig_data is
allocated.

Suggested-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
Signed-off-by: Heinrich Schuchardt &lt;heinrich.schuchardt@canonical.com&gt;
Reviewed-by: Ilias Apalodimas &lt;ilias.apalodimas@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'efi-2026-01-rc2' of https://git.u-boot-project.org/u-boot/custodians/u-boot-efi</title>
<updated>2026-07-28T13:52:13Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2026-07-28T13:51:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e354b34a6ab4b1887fd451bea8ceb7be146070a8'/>
<id>urn:sha1:e354b34a6ab4b1887fd451bea8ceb7be146070a8</id>
<content type='text'>
Pull request efi-2026-01-rc2

CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-efi/-/pipelines/753

Documentation:

* sandbox: fix enum host_platform_flags description
* switch from setenv to env set and from printenv to env print
* document Renesas R-Car Gen5 RSIP Cortex-R52 start
* thead: lpi4a: detail how to enable fastboot

UEFI:

* unify and correct GUID selection for security database variables
* test: check default GUID selection of security database variables
* set correct frame buffer address
* check efi_deserialize_load_option() in get_dp_device()
</content>
</entry>
</feed>
