[PATCH v2 01/21] spl: fix entry_point equal to load_addr

Giulio Benetti
2020-01-28T16:37:17Z

Hi Lukasz,

all patch series has already been applied, anyway I answer to your
suggestions since something was missing and I'm going to create a patch
for that.

So...

On 1/28/20 9:09 AM, Lukasz Majewski wrote:
> Hi Giulio,
>
>> At the moment entry_point is set to image_get_load(header) that sets
>> it to "load address" instead of "entry point", assuming entry_point is
>> equal to load_addr, but it's not true. Then load_addr is set to
>> "entry_point - header_size", but this is wrong too since load_addr is
>> not an entry point.
>>
>> So use image_get_ep() for entry_point assignment and image_get_load()
>> for load_addr assignment.
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>> ---
>> common/spl/spl.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/common/spl/spl.c b/common/spl/spl.c
>> index c1fce62b91..19085ad270 100644
>> --- a/common/spl/spl.c
>> +++ b/common/spl/spl.c
>> @@ -284,9 +284,9 @@ int spl_parse_image_header(struct spl_image_info
>> *spl_image, spl_image->entry_point = image_get_ep(header);
>> spl_image->size =
>> image_get_data_size(header); } else {
>> - spl_image->entry_point =
>> image_get_load(header);
>> + spl_image->entry_point =
>> image_get_ep(header); /* Load including the header */
>> - spl_image->load_addr =
>> spl_image->entry_point -
>> + spl_image->load_addr =
>> image_get_load(header) - header_size;
>> spl_image->size =
>> image_get_data_size(header) + header_size;
>
> I'm concerned, that this change will silently break several boards -
> the problem is with assumption that entry point is equal to load_addr.
>
> It would be best to pull this change ASAP, so we would have a chance to
> fix this by next release.

It's been committed after Patrice fixed a lot of boards:
https://gitlab.denx.de/u-boot/u-boot/commit/38a6cce65737096b836d43a22f09b7a54c9d020c
and
https://gitlab.denx.de/u-boot/u-boot/commit/74bb4570a952b06fecfafc5b961a5cb5147ec544

Indeed at the first moment it's been committed by Tom Rini and started
to cause boot failure as you were worried for, then it's been reverted,
then it's been re-applied after applying Patrice series.

Best regards
--
Giulio Benetti
Benetti Engineering sas

>
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
>