diff options
author | Gary Lin <glin@suse.com> | 2016-05-26 18:24:14 +0800 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2016-05-26 13:21:36 +0200 |
commit | db827286e2839102c5b0a45f88a99b8ef94c6d48 (patch) | |
tree | c95c95ffd8ff5746b41e7a5cf781ace4c9863913 /OvmfPkg | |
parent | 251ca60496719b37e02978bc5b037e2b06a39659 (diff) | |
download | edk2-platforms-db827286e2839102c5b0a45f88a99b8ef94c6d48.tar.xz |
OvmfPkg/SerializeVariablesLib: Relax check for the read-only variable
When OVMF tried to restore the variables from the file-based NvVars, it
failed to set the read-only variable and aborted the restoration with
this message:
Variable Check ReadOnly variable fail Write Protected - 04B37FE8-F6AE-480B-BDD5-37D98C5E89AA:VarErrorFlag
Since it's a read-only variable maintained by the firmware, it's
pointless to restore the previous value, so the check can be
relaxed to allow EFI_WRITE_PROTECTED returned from SetVariable.
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Lin <glin@suse.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'OvmfPkg')
-rw-r--r-- | OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.c b/OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.c index 3a24edcd48..a1a3d188f2 100644 --- a/OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.c +++ b/OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.c @@ -302,6 +302,11 @@ IterateVariablesCallbackSetSystemVariable ( "failed with EFI_SECURITY_VIOLATION, ignoring\n", __FUNCTION__,
VariableName));
Status = EFI_SUCCESS;
+ } else if (Status == EFI_WRITE_PROTECTED) {
+ DEBUG ((DEBUG_WARN, "%a: setting ReadOnly variable \"%s\" "
+ "failed with EFI_WRITE_PROTECTED, ignoring\n", __FUNCTION__,
+ VariableName));
+ Status = EFI_SUCCESS;
}
return Status;
}
|