[PATCH] efi_loader: Assure fitImage from capsule is used from 8-byte aligned address
Marek Vasut
marek.vasut at mailbox.org
Wed Nov 19 18:03:35 CET 2025
On 11/18/25 2:56 PM, Ilias Apalodimas wrote:
Hello Ilias,
sorry for my slow response, I am buried under emails.
>>>> + img = memalign(8, image_size);
>>>> + if (!img)
>>>> + return EFI_EXIT(EFI_BAD_BUFFER_SIZE);
>>>> + memcpy(img, image, image_size);
>>>> + } else {
>>>> + img = (void *)image;
>>>> + }
>>>> +
>>>> + ret = fit_update(img);
>>>> +
>>>> + if ((uintptr_t)image & 7)
>>>> + free(img);
>>>
>>> Initialize img to NULL and make the check a bit simpler to read (or
>>> get rid of it overall)
>> This part ^ I do not understand. The img variable is used by
>> fit_update(img) , where should it be initialized to NULL ?
>
> The patch might be misleading since it doesn't show the entire
> function. But from what I saw 'img' is only initialized when
> 'if ((uintptr_t)image & 7)' is true. you can initialize img to NULL on
> the declaration and just check for that.
The 'img' is always initialized, see this:
"
+ if ((uintptr_t)image & 7) {
+ img = memalign(8, image_size);
^^^ ----------------------- Here it is initialized
+ if (!img)
+ return EFI_EXIT(EFI_BAD_BUFFER_SIZE);
+ memcpy(img, image, image_size);
+ } else {
+ img = (void *)image;
^^^ ----------------------- Here it is initialized too
+ }
"
More information about the U-Boot
mailing list