Sunny:

 Yes. Only EFI_VARIABLE_NON_VOLATILE attribute can’t be used by any module. So, I also think it is the invalid case.

 

Thanks

Liming

发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Sunny Wang
发送时间: 20211021 18:19
收件人: Wu, Hao A <hao.a.wu@intel.com>; gaoliming <gaoliming@byosoft.com.cn>; edk2-devel-groups-io <devel@edk2.groups.io>
抄送: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>; Sunny Wang <Sunny.Wang@arm.com>; G Edhaya Chandran <Edhaya.Chandran@arm.com>; xypron.glpk@gmx.de
主题: [edk2-devel] Return EFI_INVALID_PARAMETER if attribute only has EFI_VARIABLE_NON_VOLATILE set

 

Hi Liming, Hao, and all

 

Now we’re checking the SCT runtime variable service test case. https://github.com/tianocore/edk2-test/blob/92a0343c1553342c53fae9d9d646b763add232c0/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/VariableServices/BlackBoxTest/VariableServicesBBTestConformance.c#L3401 and have a question below.

 

Is there any use case to call the runtime variable service functions with the Attributes that only has EFI_VARIABLE_NON_VOLATILE set?

 

We checked UEFI spec, documents, and current EDK2 implementation. There is no specific description or any implementation for this. However, there seems an implication that EFI_VARIABLE_NON_VOLATILE must be set with at least EFI_VARIABLE_BOOTSERVICE_ACCESS.  Actually, it looks like making NO sense to have a variable attribute combination that doesn’t have any XXXXX_ACCESS attribute (BS, RT, or AT) set.

 

Therefore, we think only having EFI_VARIABLE_NON_VOLATILE set may be an invalid case and would like to add a check into the EDK2 variable driver to return EFI_INVALID_PARAMETER.  What do you guys think?

 

Best Regards,

Sunny

 

 

 

 

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.