[PATCHv3 4/6] efi_selftest_memory: check for duplicates first

Randolph Sapp rs at ti.com
Fri Apr 17 18:51:26 CEST 2026


On Fri Apr 17, 2026 at 3:17 AM CDT, Ilias Apalodimas wrote:
> On Thu, 16 Apr 2026 at 23:26, Randolph Sapp <rs at ti.com> wrote:
>>
>> On Thu Apr 16, 2026 at 3:55 AM CDT, Ilias Apalodimas wrote:
>> > On Mon, 13 Apr 2026 at 23:36, <rs at ti.com> wrote:
>> >>
>> >> From: Randolph Sapp <rs at ti.com>
>> >>
>> >> Check for duplicate memory mappings before reporting any incorrect
>> >> attributes. Could be that second allocation has the correct type while
>> >> the first doesn't. Knowing there is a duplicate in this scenario is
>> >> more helpful than just reporting the first mismatch.
>> >>
>> >> Signed-off-by: Randolph Sapp <rs at ti.com>
>> >
>> > [...]
>> >
>> >>                         }
>> >> -                       found = true;
>> >> -                       if (memory_type != entry->type) {
>> >> -                               efi_st_error
>> >> -                                       ("Wrong memory type %d, expected %d\n",
>> >> -                                        entry->type, memory_type);
>> >> -                               return EFI_ST_FAILURE;
>> >> -                       }
>> >> +                       match = entry;
>> >>                 }
>> >>         }
>> >> -       if (!found) {
>> >> +       if (!match) {
>> >>                 efi_st_error("Missing memory map entry\n");
>> >>                 return EFI_ST_FAILURE;
>> >>         }
>> >> +       if (memory_type != match->type) {
>> >> +               efi_st_error("Wrong memory type %d, expected %d\n", match->type,
>> >> +                            memory_type);
>> >> +               return EFI_ST_FAILURE;
>> >
>> > This check is now outside the loop and only checks for the last entry.
>> > If you wan't to split the fucntionality, don't we need a loop over all
>> > memory areas and the type?
>> >
>> > Thanks
>> > /Ilias
>>
>> Not necessarily. At the end of the day we can only really raise one exception
>> anyway. I just think informing the user about a duplicate should take priority
>> above mismatched attributes. It hints at a bigger issue.
>
> I dont mind about the priority. We can swap that over. But with this
> patch we will check for less problems than we currently do.
>
> Thanks
> /Ilias

In what regards? We're still checking for mismatched attributes, we just check
for duplicates first. If there's a dupe it doesn't really matter what the
attributes are on either allocation, good or bad something horrible has
occurred.

The prior version of this would never report if there was a duplicate unless the
first allocation it saw had the correct attributes.

>>
>> >> +       }
>> >>         return EFI_ST_SUCCESS;
>> >>  }
>> >>
>> >> --
>> >> 2.53.0
>> >>
>>



More information about the U-Boot mailing list