[PATCH v2] image-board: fix wrong implementation ram disk address setup from cmdline
Neil Armstrong
narmstrong at baylibre.com
Mon Jan 24 10:26:21 CET 2022
Hi,
On 23/01/2022 04:32, Art Nikpal wrote:
> On Tue, Jan 18, 2022 at 3:47 AM Tom Rini <trini at konsulko.com> wrote:
>>
>> On Thu, Nov 25, 2021 at 11:08:59AM +0800, Artem Lapkin wrote:
>>
>>> Problem
>>>
>>> Wrong implementation logic: ramdisk cmdline image address always ignored!
>>> Next block { rd_addr = hextoul(select, NULL) } unusable for raw initrd.
>>>
>>> We have unbootable raw initrd images because, select_ramdisk for raw
>>> initrd images ignore submited select addr and setup rd_datap value to 0
>>>
>>> Signed-off-by: Artem Lapkin <art at khadas.com>
>>> Reviewed-by: Simon Glass <sjg at chromium.org>
>>> ---
>>> V2 changes
>>> _ rebase to master
>>> _ from https://patchwork.ozlabs.org/project/uboot/patch/20211016051915.4157293-1-art@khadas.com/
>>> ---
>>> boot/image-board.c | 6 +++---
>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/boot/image-board.c b/boot/image-board.c
>>> index bf8817165c..87a8f07432 100644
>>> --- a/boot/image-board.c
>>> +++ b/boot/image-board.c
>>> @@ -334,7 +334,7 @@ static int select_ramdisk(bootm_headers_t *images, const char *select, u8 arch,
>>>
>>> if (select) {
>>> ulong default_addr;
>>> - bool done = true;
>>> + bool done = false;
>>>
>>> if (CONFIG_IS_ENABLED(FIT)) {
>>> /*
>>> @@ -352,13 +352,13 @@ static int select_ramdisk(bootm_headers_t *images, const char *select, u8 arch,
>>> &fit_uname_config)) {
>>> debug("* ramdisk: config '%s' from image at 0x%08lx\n",
>>> fit_uname_config, rd_addr);
>>> + done = true;
>>> } else if (fit_parse_subimage(select, default_addr,
>>> &rd_addr,
>>> &fit_uname_ramdisk)) {
>>> debug("* ramdisk: subimage '%s' from image at 0x%08lx\n",
>>> fit_uname_ramdisk, rd_addr);
>>> - } else {
>>> - done = false;
>>> + done = true;
>>> }
>>> }
>>> if (!done) {
>>
>> I think we still need this? Can you please confirm and if so rebase to
>> master again, sorry, thanks!
>
> i have check master which have new commit
> 621158d106fe53fbb2d786d9d19dff44ad1baf91
>
> no need for this state !!
>
> Author: Tom Rini <trini at konsulko.com>
> Date: Mon Dec 20 09:36:32 2021 -0500
>
> Revert "image: Remove #ifdefs from select_ramdisk()"
>
> This reverts commit f33a2c1bd0fb371511a485cac1f182ba50db51be.
>
> This causes a crash on some platforms as seen here:
> https://lore.kernel.org/r/f153017b-c41a-0d32-67b9-f288e695f900@baylibre.com/
>
> Reported-by: Neil Armstrong <narmstrong at baylibre.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>
>
> PS: about crash problem maybe its same reason may be need try apply my
> patch and no need reverts commit
> f33a2c1bd0fb371511a485cac1f182ba50db51be.
Indeed, I missed this fix completely... anyway having a functional release was the most important at that time.
Re-sending "image: Remove #ifdefs from select_ramdisk()" with this fix squashed would be the time now.
Neil
>>
>> --
>> Tom
More information about the U-Boot
mailing list