summaryrefslogtreecommitdiff
path: root/SecurityPkg/Library/Tpm2DeviceLibDTpm
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2018-08-07 18:01:12 +0800
committerStar Zeng <star.zeng@intel.com>2018-08-08 19:18:29 +0800
commit9e6c4f1527e6f72d6ada10aa39854f2bdd40772f (patch)
tree52a6c37d58143c87f5292fafb5938700dab92ad2 /SecurityPkg/Library/Tpm2DeviceLibDTpm
parent6ec4d300fe5929a43b9118adc80aa909f61ab665 (diff)
downloadedk2-9e6c4f1527e6f72d6ada10aa39854f2bdd40772f.zip
edk2-9e6c4f1527e6f72d6ada10aa39854f2bdd40772f.tar.gz
edk2-9e6c4f1527e6f72d6ada10aa39854f2bdd40772f.tar.bz2
FmpDevicePkg FmpDxe: Lock variables in entrypoint instead of callback
Current code locks variables in PcdFmpDeviceLockEventGuid callback by VariableLock protocol whose interface will be closed at EndOfDxe. So the PcdFmpDeviceLockEventGuid callback needs be executed before the EndOfDxe callback in Variable driver. When PcdFmpDeviceLockEventGuid = gEfiEndOfDxeEventGroupGuid, the callback's execution sequence depends on the callback's TPL and registration sequence. When PcdFmpDeviceLockEventGuid = gEfiEventReadyToBootGuid, the PcdFmpDeviceLockEventGuid callback will be executed after the EndOfDxe callback in Variable driver, the locking will fail. The patch moves the variables locking logic to entrypoint. The patch also moves the IsLockFmpDeviceAtLockEventGuidRequired () checking to entrypoint. The entrypoint's final return status should be better to depend on the return status of RegisterFmpInstaller/InstallFmpInstance, but not gBS->CreateEventEx. So the patch also moves the RegisterFmpInstaller/InstallFmpInstance calling to the end of entrypoint. Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Diffstat (limited to 'SecurityPkg/Library/Tpm2DeviceLibDTpm')
0 files changed, 0 insertions, 0 deletions