[PATCH 5/5] efi_selftest: Enhance MBR test for PARTITION_INFO_PROTOCOL
Javier Martinez Canillas
javierm at redhat.com
Wed Jan 21 10:28:56 CET 2026
Heinrich Schuchardt <xypron.glpk at gmx.de> writes:
> On 1/20/26 14:36, Javier Martinez Canillas wrote:
>> The EFI_PARTITION_INFO_PROTOCOL test was added before the protocol fully
>> supported MBR partitions. As a result, it lacked specific checks for the
>> content of the raw MBR partition record.
>>
>> Now that MBR support has been implemented, enhance the selftest to provide
>> coverage for the MBR entries too.
>>
>> This verifies that the protocol correctly reads and exposes MBR partition
>> records and prevents this functionality to regress due future changes.
>>
>> Signed-off-by: Javier Martinez Canillas <javierm at redhat.com>
>> ---
>>
>> lib/efi_selftest/efi_selftest_block_device.c | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/lib/efi_selftest/efi_selftest_block_device.c b/lib/efi_selftest/efi_selftest_block_device.c
>> index f145e58a267a..50d1fb29e1ef 100644
>> --- a/lib/efi_selftest/efi_selftest_block_device.c
>> +++ b/lib/efi_selftest/efi_selftest_block_device.c
>> @@ -404,6 +404,18 @@ static int execute(void)
>> part_info->system);
>> return EFI_ST_FAILURE;
>> }
>> + /* The first partition starts at LBA 1 on the test image */
>> + if (part_info->info.mbr.start_sect != 1) {
>> + efi_st_error("MBR start sector %d, expected 1\n",
>> + part_info->info.mbr.start_sect);
>> + return EFI_ST_FAILURE;
>> + }
>> + /* The partition type is FAT12 (0x01) in the test image */
>> + if (part_info->info.mbr.sys_ind != 0x01) {
>> + efi_st_error("MBR system indicator %d, expected 1\n",
>> + part_info->info.mbr.sys_ind);
>> + return EFI_ST_FAILURE;
>> + }
>
> How about defining a static variable with all fields and using memcmp()
> to check them all?
>
Makes sense. I'll do that in v2 as well. Thanks!
> Best regards
>
> Heinrich
>
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat
More information about the U-Boot
mailing list