<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/boot, branch v2025.10</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<entry>
<title>Revert "fdt: Make sure there is no stale initrd left"</title>
<updated>2025-10-03T13:45:20+00:00</updated>
<author>
<name>Sam Protsenko</name>
<email>semen.protsenko@linaro.org</email>
</author>
<published>2025-09-29T22:19:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=072264c4b3406aee50dad08355588577a547ab48'/>
<id>072264c4b3406aee50dad08355588577a547ab48</id>
<content type='text'>
This reverts commit 9fe2e4b46458f9c4ec6b8115ebf18b4b26fe6127.

Commit 9fe2e4b46458 ("fdt: Make sure there is no stale initrd left")
introduces a regression in case when U-Boot transfers control to an EFI
app which acts as a subsequent bootloading program. Such an app might
try to set "linux,initrd-start" and "linux,initrd-end" fdt properties,
but by that time those properties are already removed by the code added
in the mentioned commit.

Particularly, the issue was observed on the E850-96 board where GBL EFI
app [1] can't run Android successfully anymore. More specifically, the
kernel can't see the ramdisk and panics with next messages:

    /dev/root: Can't open blockdev
    VFS: Cannot open root device "" or unknown-block(0,0): error -6
    Please append a correct "root=" boot option; ...
    Kernel panic - not syncing: VFS: Unable to mount root fs on
    unknown-block(0,0)

fdt_initrd() function (where initrd dts properties are removed) is
called two times:

1. First it's called by EFI boot manager (e.g. as a part of U-Boot
Standard Boot mechanism) when it's installing FDT:

    fdt_initrd
    image_setup_libfdt
    efi_install_fdt
    efi_bootmgr_run
    efi_mgr_boot

It's already enough for EFI app to malfunction. But then it's also
called second time:

2. From the EFI app, via EFI DT fixup protocol:

    fdt_initrd
    image_setup_libfdt
    efi_dt_fixup
    struct efi_dt_fixup_protocol efi_dt_fixup_prot = {
        .fixup = efi_dt_fixup
    };

See [2] for specific GBL code which sets those fdt properties and then
runs DT fixup protocol callback.

This issue was discussed [3], but no action was taken since then. Revert
this patch for now, until a proper solution can be found.

[1] https://source.android.com/docs/core/architecture/bootloader/generic-bootloader/gbl-dev
[2] https://android.googlesource.com/platform/bootable/libbootloader/+/refs/heads/gbl-mainline/gbl/libgbl/src/android_boot/mod.rs#208
[3] https://lists.denx.de/pipermail/u-boot/2025-July/593879.html

Fixes: 9fe2e4b46458 ("fdt: Make sure there is no stale initrd left")
Signed-off-by: Sam Protsenko &lt;semen.protsenko@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 9fe2e4b46458f9c4ec6b8115ebf18b4b26fe6127.

Commit 9fe2e4b46458 ("fdt: Make sure there is no stale initrd left")
introduces a regression in case when U-Boot transfers control to an EFI
app which acts as a subsequent bootloading program. Such an app might
try to set "linux,initrd-start" and "linux,initrd-end" fdt properties,
but by that time those properties are already removed by the code added
in the mentioned commit.

Particularly, the issue was observed on the E850-96 board where GBL EFI
app [1] can't run Android successfully anymore. More specifically, the
kernel can't see the ramdisk and panics with next messages:

    /dev/root: Can't open blockdev
    VFS: Cannot open root device "" or unknown-block(0,0): error -6
    Please append a correct "root=" boot option; ...
    Kernel panic - not syncing: VFS: Unable to mount root fs on
    unknown-block(0,0)

fdt_initrd() function (where initrd dts properties are removed) is
called two times:

1. First it's called by EFI boot manager (e.g. as a part of U-Boot
Standard Boot mechanism) when it's installing FDT:

    fdt_initrd
    image_setup_libfdt
    efi_install_fdt
    efi_bootmgr_run
    efi_mgr_boot

It's already enough for EFI app to malfunction. But then it's also
called second time:

2. From the EFI app, via EFI DT fixup protocol:

    fdt_initrd
    image_setup_libfdt
    efi_dt_fixup
    struct efi_dt_fixup_protocol efi_dt_fixup_prot = {
        .fixup = efi_dt_fixup
    };

See [2] for specific GBL code which sets those fdt properties and then
runs DT fixup protocol callback.

This issue was discussed [3], but no action was taken since then. Revert
this patch for now, until a proper solution can be found.

[1] https://source.android.com/docs/core/architecture/bootloader/generic-bootloader/gbl-dev
[2] https://android.googlesource.com/platform/bootable/libbootloader/+/refs/heads/gbl-mainline/gbl/libgbl/src/android_boot/mod.rs#208
[3] https://lists.denx.de/pipermail/u-boot/2025-July/593879.html

Fixes: 9fe2e4b46458 ("fdt: Make sure there is no stale initrd left")
Signed-off-by: Sam Protsenko &lt;semen.protsenko@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstd: rauc: Do not select BOOTMETH_GLOBAL</title>
<updated>2025-08-25T16:15:12+00:00</updated>
<author>
<name>Martin Schwan</name>
<email>m.schwan@phytec.de</email>
</author>
<published>2025-08-15T07:12:56+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=997c0c45c197dd8bfedc41c72d4579160b018e5e'/>
<id>997c0c45c197dd8bfedc41c72d4579160b018e5e</id>
<content type='text'>
Since the bootmeth "rauc" is not a global boot method, do not select the
corresponding BOOTMETH_GLOBAL option.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the bootmeth "rauc" is not a global boot method, do not select the
corresponding BOOTMETH_GLOBAL option.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge patch series "bootstd: rauc: Fix segfault when scanning device with unsupported layout"</title>
<updated>2025-08-21T21:05:15+00:00</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2025-08-21T21:05:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=94e690c44a03959c39f0f5a44a9b89c851af3b60'/>
<id>94e690c44a03959c39f0f5a44a9b89c851af3b60</id>
<content type='text'>
Martin Schwan &lt;m.schwan@phytec.de&gt; says:

This series fixes a segfault, that would occur at the end of scanning a
device, which does not contain the required partition layout scheme for
a RAUC system.

With this series, a "bootflow scan" should now correctly scan the
specified devices with boot method "rauc" without crashing on invalid
partition schemes.

Link: https://lore.kernel.org/r/20250813-wip-bootmeth-rauc-priv-free-v1-0-1ef928169469@phytec.de
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Martin Schwan &lt;m.schwan@phytec.de&gt; says:

This series fixes a segfault, that would occur at the end of scanning a
device, which does not contain the required partition layout scheme for
a RAUC system.

With this series, a "bootflow scan" should now correctly scan the
specified devices with boot method "rauc" without crashing on invalid
partition schemes.

Link: https://lore.kernel.org/r/20250813-wip-bootmeth-rauc-priv-free-v1-0-1ef928169469@phytec.de
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstd: rauc: Free private data when booting</title>
<updated>2025-08-21T21:05:04+00:00</updated>
<author>
<name>Martin Schwan</name>
<email>m.schwan@phytec.de</email>
</author>
<published>2025-08-13T11:54:08+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=498e423457a0360c01d976aa21a218995a1bdef8'/>
<id>498e423457a0360c01d976aa21a218995a1bdef8</id>
<content type='text'>
The private data struct can be freed when loading the boot script, as we
don't need the slot information anymore at this point.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The private data struct can be freed when loading the boot script, as we
don't need the slot information anymore at this point.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstd: rauc: Move freeing private struct to its own function</title>
<updated>2025-08-21T21:05:04+00:00</updated>
<author>
<name>Martin Schwan</name>
<email>m.schwan@phytec.de</email>
</author>
<published>2025-08-13T11:54:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=302830499d9f0ebec42fe62254429a4d8db6b36c'/>
<id>302830499d9f0ebec42fe62254429a4d8db6b36c</id>
<content type='text'>
Move freeing a distro_rauc_priv struct to a new, separate function for
better reuse.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move freeing a distro_rauc_priv struct to a new, separate function for
better reuse.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstd: rauc: Don't null bootflow-&gt;bootmeth_priv</title>
<updated>2025-08-21T21:05:04+00:00</updated>
<author>
<name>Martin Schwan</name>
<email>m.schwan@phytec.de</email>
</author>
<published>2025-08-13T11:54:06+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b389967f9a624b35c163767c34919cbdcd4e0917'/>
<id>b389967f9a624b35c163767c34919cbdcd4e0917</id>
<content type='text'>
Don't null bootflow-&gt;bootmeth_priv, as the private struct is freed later
on by the bootflow.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't null bootflow-&gt;bootmeth_priv, as the private struct is freed later
on by the bootflow.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstd: rauc: Fix segfault when cleaning up slots</title>
<updated>2025-08-21T21:05:04+00:00</updated>
<author>
<name>Martin Schwan</name>
<email>m.schwan@phytec.de</email>
</author>
<published>2025-08-13T11:54:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=074066790c7f726f149c1974e01b8b3f75738c73'/>
<id>074066790c7f726f149c1974e01b8b3f75738c73</id>
<content type='text'>
Fix a segfault when cleaning up the slots from the private struct. This
fault was generated by accessing a member of a null pointer.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a segfault when cleaning up the slots from the private struct. This
fault was generated by accessing a member of a null pointer.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>bootstd: rauc: Change global method to check any partition</title>
<updated>2025-08-14T15:18:43+00:00</updated>
<author>
<name>Martin Schwan</name>
<email>m.schwan@phytec.de</email>
</author>
<published>2025-08-12T12:38:34+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0c558bbad9e7581808b358091d1fd979f860e8ac'/>
<id>0c558bbad9e7581808b358091d1fd979f860e8ac</id>
<content type='text'>
The bootmeth rauc should scan all partitions, in particular whole
devices, and not be a global method. There may exist multiple RAUC
systems on different devices and they should all be detected. This also
fixes a bug, where both a global bootflow and one using an actual,
complete device would be detected at the same time, when scanning for
valid bootflows.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The bootmeth rauc should scan all partitions, in particular whole
devices, and not be a global method. There may exist multiple RAUC
systems on different devices and they should all be detected. This also
fixes a bug, where both a global bootflow and one using an actual,
complete device would be detected at the same time, when scanning for
valid bootflows.

Signed-off-by: Martin Schwan &lt;m.schwan@phytec.de&gt;
Tested-by: Wadim Egorov &lt;w.egorov@phytec.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>riscv: Set SYS_BOOTM_LEN default to 0x4000000</title>
<updated>2025-08-14T06:32:00+00:00</updated>
<author>
<name>Martin Herren</name>
<email>sputnik@on-the-web.ch</email>
</author>
<published>2025-07-19T21:46:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b8e140c1f23b8dd93c62946734cbed8b218450b3'/>
<id>b8e140c1f23b8dd93c62946734cbed8b218450b3</id>
<content type='text'>
This changes the default value to the most commonly used one among
existing defconfigs.

Signed-off-by: Martin Herren &lt;sputnik@on-the-web.ch&gt;
Acked-by: Michal Simek &lt;michal.simek@amd.com&gt; # xilinx_mbv
Reviewed-by: Leo Yu-Chi Liang &lt;ycliang@andestech.com&gt;
Reviewed-by: Mattijs Korpershoek &lt;mkorpershoek@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This changes the default value to the most commonly used one among
existing defconfigs.

Signed-off-by: Martin Herren &lt;sputnik@on-the-web.ch&gt;
Acked-by: Michal Simek &lt;michal.simek@amd.com&gt; # xilinx_mbv
Reviewed-by: Leo Yu-Chi Liang &lt;ycliang@andestech.com&gt;
Reviewed-by: Mattijs Korpershoek &lt;mkorpershoek@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>uclass: Cleanup uclass_find_next_device</title>
<updated>2025-07-24T17:49:18+00:00</updated>
<author>
<name>Andrew Goodbody</name>
<email>andrew.goodbody@linaro.org</email>
</author>
<published>2025-07-16T09:58:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=70bf6e33e15e2ce56f6e3e9a3f725136c9c6f486'/>
<id>70bf6e33e15e2ce56f6e3e9a3f725136c9c6f486</id>
<content type='text'>
uclass_find_next_device always returns 0, so instead make it a void and
update calling sites.

Signed-off-by: Andrew Goodbody &lt;andrew.goodbody@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
uclass_find_next_device always returns 0, so instead make it a void and
update calling sites.

Signed-off-by: Andrew Goodbody &lt;andrew.goodbody@linaro.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
