From bf4a3dbd4751b6411bdfc98bf3ac2c4f928bdfdf Mon Sep 17 00:00:00 2001 From: ydong10 Date: Wed, 30 May 2012 07:36:00 +0000 Subject: Add new interface GetVariable2 and GetEfiGlobalVariable2 to return more info. Also replace old interface with new one. Signed-off-by: Eric Dong Reviewed-by: Liming Gao git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13375 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.c | 4 ++-- .../DxeImageVerificationLib/DxeImageVerificationLib.c | 8 ++++---- .../UserProfileManagerDxe/ModifyAccessPolicy.c | 4 ++-- .../SecureBootConfigDxe/SecureBootConfigImpl.c | 17 +++++++++++------ 4 files changed, 19 insertions(+), 14 deletions(-) (limited to 'SecurityPkg') diff --git a/SecurityPkg/Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.c b/SecurityPkg/Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.c index f7fe594060..b5b51b4ed2 100644 --- a/SecurityPkg/Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.c +++ b/SecurityPkg/Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.c @@ -1,7 +1,7 @@ /** @file Implement defer image load services for user identification in UEFI2.2. -Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -532,7 +532,7 @@ IsBootOption ( // Try to find the DevicePath in BootOption // UnicodeSPrint (StrTemp, sizeof (StrTemp), L"Boot%04x", Index); - OptionBuffer = GetEfiGlobalVariable (StrTemp); + GetEfiGlobalVariable2 (StrTemp, &OptionBuffer, NULL); if (OptionBuffer == NULL) { continue; } diff --git a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c index 843ca2a92c..ec18a1b523 100644 --- a/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c +++ b/SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.c @@ -1065,7 +1065,7 @@ VerifyCertUefiGuid ( // // Get KEK database variable. // - KekList = GetEfiGlobalVariable (EFI_KEY_EXCHANGE_KEY_NAME); + GetEfiGlobalVariable2 (EFI_KEY_EXCHANGE_KEY_NAME, &KekList, NULL); if (KekList == NULL) { return EFI_SECURITY_VIOLATION; } @@ -1260,7 +1260,7 @@ DxeImageVerificationHandler ( return EFI_ACCESS_DENIED; } - SecureBootEnable = GetVariable (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid); + GetVariable2 (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid, &SecureBootEnable, NULL); // // Skip verification if SecureBootEnable variable doesn't exist. // @@ -1278,7 +1278,7 @@ DxeImageVerificationHandler ( FreePool (SecureBootEnable); - SetupMode = GetEfiGlobalVariable (EFI_SETUP_MODE_NAME); + GetEfiGlobalVariable2 (EFI_SETUP_MODE_NAME, &SetupMode, NULL); // // SetupMode doesn't exist means no AuthVar driver is dispatched, @@ -1544,7 +1544,7 @@ VariableWriteCallBack ( // If this library is built-in, it means firmware has capability to perform // driver signing verification. // - SecureBootModePtr = GetEfiGlobalVariable (EFI_SECURE_BOOT_MODE_NAME); + GetEfiGlobalVariable2 (EFI_SECURE_BOOT_MODE_NAME, &SecureBootModePtr, NULL); if (SecureBootModePtr == NULL) { SecureBootMode = SECURE_BOOT_MODE_DISABLE; // diff --git a/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c b/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c index d73f77eeec..8585c72712 100644 --- a/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c +++ b/SecurityPkg/UserIdentification/UserProfileManagerDxe/ModifyAccessPolicy.c @@ -410,7 +410,7 @@ DisplayLoadPermit( // Get driver device path. // UnicodeSPrint (VarName, sizeof (VarName), L"Driver%04x", Order[Index]); - Var = GetEfiGlobalVariable (VarName); + GetEfiGlobalVariable2 (VarName, &Var, NULL); if (Var == NULL) { continue; } @@ -655,7 +655,7 @@ AddToForbidLoad ( // Get loadable driver device path. // UnicodeSPrint (VarName, sizeof (VarName), L"Driver%04x", DriverIndex); - Var = GetEfiGlobalVariable (VarName); + GetEfiGlobalVariable2 (VarName, &Var, NULL); if (Var == NULL) { return; } diff --git a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c index f740c0ae75..0dc9c2b22d 100644 --- a/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c +++ b/SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigImpl.c @@ -215,7 +215,7 @@ DeleteVariable ( UINTN DataSize; UINT32 Attr; - Variable = GetVariable (VariableName, VendorGuid); + GetVariable2 (VariableName, VendorGuid, &Variable, NULL); if (Variable == NULL) { return EFI_SUCCESS; } @@ -2064,7 +2064,7 @@ SecureBootExtractConfigFromVariable ( // // Get the SecureBootEnable Variable // - SecureBootEnable = GetVariable (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid); + GetVariable2 (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid, &SecureBootEnable, NULL); // // If the SecureBootEnable Variable doesn't exist, hide the SecureBoot Enable/Disable @@ -2088,7 +2088,7 @@ SecureBootExtractConfigFromVariable ( // // If there is no PK then the Delete Pk button will be gray. // - SetupMode = GetVariable (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid); + GetVariable2 (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid, &SetupMode, NULL); if (SetupMode == NULL || (*SetupMode) == 1) { ConfigData->HasPk = FALSE; } else { @@ -2098,7 +2098,7 @@ SecureBootExtractConfigFromVariable ( // // Get the SecureBootMode from CustomMode variable. // - SecureBootMode = GetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid); + GetVariable2 (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, &SecureBootMode, NULL); if (SecureBootMode == NULL) { ConfigData->SecureBootMode = STANDARD_SECURE_BOOT_MODE; } else { @@ -2298,6 +2298,9 @@ SecureBootCallback ( UINTN BufferSize; SECUREBOOT_CONFIGURATION *IfrNvData; UINT16 LabelId; + UINT8 *SecureBootEnable; + + SecureBootEnable = NULL; if ((This == NULL) || (Value == NULL) || (ActionRequest == NULL)) { return EFI_INVALID_PARAMETER; @@ -2326,7 +2329,8 @@ SecureBootCallback ( switch (QuestionId) { case KEY_SECURE_BOOT_ENABLE: - if (NULL != GetVariable (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid)) { + GetVariable2 (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid, &SecureBootEnable, NULL); + if (NULL != SecureBootEnable) { if (EFI_ERROR (SaveSecureBootVariable (Value->u8))) { CreatePopUp ( EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, @@ -2513,7 +2517,8 @@ SecureBootCallback ( break; case KEY_SECURE_BOOT_MODE: - if (NULL != GetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid)) { + GetVariable2 (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, &SecureBootEnable, NULL); + if (NULL != SecureBootEnable) { Status = gRT->SetVariable ( EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, -- cgit v1.2.3