[PATCH 1/2] lib: fwts_uefi: add the function to check the efivars interface existence

IvanHu ivan.hu at canonical.com
Fri May 17 02:59:38 UTC 2013


On 05/16/2013 05:33 PM, Colin Ian King wrote:
> On 16/05/13 09:34, Ivan Hu wrote:
>> Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
>> ---
>>   src/lib/include/fwts_uefi.h |    2 ++
>>   src/lib/src/fwts_uefi.c     |   12 ++++++++++++
>>   2 files changed, 14 insertions(+)
>>
>> diff --git a/src/lib/include/fwts_uefi.h b/src/lib/include/fwts_uefi.h
>> index 98eddb0..c0a6ce5 100644
>> --- a/src/lib/include/fwts_uefi.h
>> +++ b/src/lib/include/fwts_uefi.h
>> @@ -356,4 +356,6 @@ int fwts_uefi_get_variable_names(fwts_list *list);
>>   void fwts_uefi_print_status_info(fwts_framework *fw, const uint64_t status);
>>   char *fwts_uefi_attribute_info(uint32_t attr);
>>
>> +bool fwts_uefi_efivars_iface_exist(void);
>> +
>>   #endif
>> diff --git a/src/lib/src/fwts_uefi.c b/src/lib/src/fwts_uefi.c
>> index f8678ab..55308ba 100644
>> --- a/src/lib/src/fwts_uefi.c
>> +++ b/src/lib/src/fwts_uefi.c
>> @@ -513,3 +513,15 @@ char *fwts_uefi_attribute_info(uint32_t attr)
>>
>>   	return str;
>>   }
>> +
>> +/*
>> + *  fwts_uefi_efivars_fs_exist()
>> + *	check the efivar interface existfwts_uefi_get_interface(&path)
>> + */
>> +bool fwts_uefi_efivars_iface_exist(void)
>> +{
>> +	char *path;
>> +
>> +	return (fwts_uefi_get_interface(&path) == UEFI_IFACE_EFIVARS);
>> +
>> +}
>>
>
> Should we also be checking for the legacy UEFI_IFACE_SYSFS too? Or how
> about checking for no interface or failure:
>
> {
> 	char *path;
> 	int ret = fwts_uefi_get_interface(&path);
>
> 	return (ret != UEFI_IFACE_NONE) && (ret != UEFI_IFACE_UNKNOWN);
> }
>
>

The DB, and KEK variables are defined by the UEFI spec and used in UEFI 
enviroment. I think it should be checked with the efivars interface 
only, not in the legacy environment.

Ivan



More information about the fwts-devel mailing list