MdeModulePkg/Variable/RuntimeDxe: move MOR func. declarations to header

The MorLockInit() and SetVariableCheckHandlerMor() functions have separate
implementations for VariableRuntimeDxe (= unprivileged, unified
DXE_RUNTIME driver) and VariableSmm (= privileged, DXE_SMM back-end of the
split variable driver).

Move their declarations from "Variable.c" to "PrivilegePolymorphic.h", so
that the compiler enforce that the declarations and the definitions match.
(All C source files with the call sites and the function definitions
already include "PrivilegePolymorphic.h" via "Variable.h".)

At the same time:

- replace two typos in the MorLockInit() description:
  - replace "EFI_SUCEESS" with "EFI_SUCCESS",
  - replace "MOR Lock Control" with "MOR Control Lock";

- in the SetVariableCheckHandlerMor() description:
  - replace @param with @param[in],
  - correct the description of the Attributes parameter (suggested by Star
    Zeng <star.zeng@intel.com>),
  - rewrap the comment to 80 columns.

This change cleans up commit 2f6aa774fe38 ("MdeModulePkg: Add MorLock to
variable driver.", 2016-01-19).

Cc: Eric Dong <eric.dong@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Ladi Prosek <lprosek@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Tested-by: Ladi Prosek <lprosek@redhat.com>
This commit is contained in:
Laszlo Ersek 2017-09-30 16:04:31 +02:00
parent 00663d047f
commit 03877377e3
4 changed files with 69 additions and 63 deletions

View File

@ -35,4 +35,43 @@ SecureBootHook (
IN EFI_GUID *VendorGuid IN EFI_GUID *VendorGuid
); );
/**
Initialization for MOR Control Lock.
@retval EFI_SUCCESS MorLock initialization success.
@return Others Some error occurs.
**/
EFI_STATUS
MorLockInit (
VOID
);
/**
This service is an MOR/MorLock checker handler for the SetVariable().
@param[in] VariableName the name of the vendor's variable, as a
Null-Terminated Unicode String
@param[in] VendorGuid Unify identifier for vendor.
@param[in] Attributes Attributes bitmask to set for the variable.
@param[in] DataSize The size in bytes of Data-Buffer.
@param[in] Data Point to the content of the variable.
@retval EFI_SUCCESS The MOR/MorLock check pass, and Variable
driver can store the variable data.
@retval EFI_INVALID_PARAMETER The MOR/MorLock data or data size or
attributes is not allowed for MOR variable.
@retval EFI_ACCESS_DENIED The MOR/MorLock is locked.
@retval EFI_ALREADY_STARTED The MorLock variable is handled inside this
function. Variable driver can just return
EFI_SUCCESS.
**/
EFI_STATUS
SetVariableCheckHandlerMor (
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
IN UINT32 Attributes,
IN UINTN DataSize,
IN VOID *Data
);
#endif #endif

View File

@ -28,19 +28,21 @@ extern EDKII_VARIABLE_LOCK_PROTOCOL mVariableLock;
/** /**
This service is an MOR/MorLock checker handler for the SetVariable(). This service is an MOR/MorLock checker handler for the SetVariable().
@param VariableName the name of the vendor's variable, as a @param[in] VariableName the name of the vendor's variable, as a
Null-Terminated Unicode String Null-Terminated Unicode String
@param VendorGuid Unify identifier for vendor. @param[in] VendorGuid Unify identifier for vendor.
@param Attributes Point to memory location to return the attributes of variable. If the point @param[in] Attributes Attributes bitmask to set for the variable.
is NULL, the parameter would be ignored. @param[in] DataSize The size in bytes of Data-Buffer.
@param DataSize The size in bytes of Data-Buffer. @param[in] Data Point to the content of the variable.
@param Data Point to the content of the variable.
@retval EFI_SUCCESS The MOR/MorLock check pass, and Variable driver can store the variable data. @retval EFI_SUCCESS The MOR/MorLock check pass, and Variable
@retval EFI_INVALID_PARAMETER The MOR/MorLock data or data size or attributes is not allowed for MOR variable. driver can store the variable data.
@retval EFI_INVALID_PARAMETER The MOR/MorLock data or data size or
attributes is not allowed for MOR variable.
@retval EFI_ACCESS_DENIED The MOR/MorLock is locked. @retval EFI_ACCESS_DENIED The MOR/MorLock is locked.
@retval EFI_ALREADY_STARTED The MorLock variable is handled inside this function. @retval EFI_ALREADY_STARTED The MorLock variable is handled inside this
Variable driver can just return EFI_SUCCESS. function. Variable driver can just return
EFI_SUCCESS.
**/ **/
EFI_STATUS EFI_STATUS
SetVariableCheckHandlerMor ( SetVariableCheckHandlerMor (
@ -58,9 +60,9 @@ SetVariableCheckHandlerMor (
} }
/** /**
Initialization for MOR Lock Control. Initialization for MOR Control Lock.
@retval EFI_SUCEESS MorLock initialization success. @retval EFI_SUCCESS MorLock initialization success.
@return Others Some error occurs. @return Others Some error occurs.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -309,19 +309,21 @@ SetVariableCheckHandlerMorLock (
/** /**
This service is an MOR/MorLock checker handler for the SetVariable(). This service is an MOR/MorLock checker handler for the SetVariable().
@param VariableName the name of the vendor's variable, as a @param[in] VariableName the name of the vendor's variable, as a
Null-Terminated Unicode String Null-Terminated Unicode String
@param VendorGuid Unify identifier for vendor. @param[in] VendorGuid Unify identifier for vendor.
@param Attributes Point to memory location to return the attributes of variable. If the point @param[in] Attributes Attributes bitmask to set for the variable.
is NULL, the parameter would be ignored. @param[in] DataSize The size in bytes of Data-Buffer.
@param DataSize The size in bytes of Data-Buffer. @param[in] Data Point to the content of the variable.
@param Data Point to the content of the variable.
@retval EFI_SUCCESS The MOR/MorLock check pass, and Variable driver can store the variable data. @retval EFI_SUCCESS The MOR/MorLock check pass, and Variable
@retval EFI_INVALID_PARAMETER The MOR/MorLock data or data size or attributes is not allowed for MOR variable. driver can store the variable data.
@retval EFI_INVALID_PARAMETER The MOR/MorLock data or data size or
attributes is not allowed for MOR variable.
@retval EFI_ACCESS_DENIED The MOR/MorLock is locked. @retval EFI_ACCESS_DENIED The MOR/MorLock is locked.
@retval EFI_ALREADY_STARTED The MorLock variable is handled inside this function. @retval EFI_ALREADY_STARTED The MorLock variable is handled inside this
Variable driver can just return EFI_SUCCESS. function. Variable driver can just return
EFI_SUCCESS.
**/ **/
EFI_STATUS EFI_STATUS
SetVariableCheckHandlerMor ( SetVariableCheckHandlerMor (
@ -377,9 +379,9 @@ SetVariableCheckHandlerMor (
} }
/** /**
Initialization for MOR Lock Control. Initialization for MOR Control Lock.
@retval EFI_SUCEESS MorLock initialization success. @retval EFI_SUCCESS MorLock initialization success.
@return Others Some error occurs. @return Others Some error occurs.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -97,43 +97,6 @@ AUTH_VAR_LIB_CONTEXT_IN mAuthContextIn = {
AUTH_VAR_LIB_CONTEXT_OUT mAuthContextOut; AUTH_VAR_LIB_CONTEXT_OUT mAuthContextOut;
/**
Initialization for MOR Lock Control.
@retval EFI_SUCEESS MorLock initialization success.
@return Others Some error occurs.
**/
EFI_STATUS
MorLockInit (
VOID
);
/**
This service is an MOR/MorLock checker handler for the SetVariable().
@param VariableName the name of the vendor's variable, as a
Null-Terminated Unicode String
@param VendorGuid Unify identifier for vendor.
@param Attributes Point to memory location to return the attributes of variable. If the point
is NULL, the parameter would be ignored.
@param DataSize The size in bytes of Data-Buffer.
@param Data Point to the content of the variable.
@retval EFI_SUCCESS The MOR/MorLock check pass, and Variable driver can store the variable data.
@retval EFI_INVALID_PARAMETER The MOR/MorLock data or data size or attributes is not allowed for MOR variable.
@retval EFI_ACCESS_DENIED The MOR/MorLock is locked.
@retval EFI_ALREADY_STARTED The MorLock variable is handled inside this function.
Variable driver can just return EFI_SUCCESS.
**/
EFI_STATUS
SetVariableCheckHandlerMor (
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
IN UINT32 Attributes,
IN UINTN DataSize,
IN VOID *Data
);
/** /**
Routine used to track statistical information about variable usage. Routine used to track statistical information about variable usage.
The data is stored in the EFI system table so it can be accessed later. The data is stored in the EFI system table so it can be accessed later.