summaryrefslogtreecommitdiffstats
path: root/SecurityPkg/Pkcs7Verify
diff options
context:
space:
mode:
Diffstat (limited to 'SecurityPkg/Pkcs7Verify')
-rw-r--r--SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe/Pkcs7VerifyDxe.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe/Pkcs7VerifyDxe.c b/SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe/Pkcs7VerifyDxe.c
index d9013212c1..0da549a6bd 100644
--- a/SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe/Pkcs7VerifyDxe.c
+++ b/SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe/Pkcs7VerifyDxe.c
@@ -1457,8 +1457,17 @@ Pkcs7VerifyDriverEntry (
IN EFI_SYSTEM_TABLE *SystemTable
)
{
- EFI_STATUS Status;
- EFI_HANDLE Handle;
+ EFI_STATUS Status;
+ EFI_HANDLE Handle;
+ EFI_PKCS7_VERIFY_PROTOCOL Useless;
+
+ //
+ // Avoid loading a second copy if this is built as an external module
+ //
+ Status = gBS->LocateProtocol (&gEfiPkcs7VerifyProtocolGuid, NULL, (VOID **)&Useless);
+ if (!EFI_ERROR (Status)) {
+ return EFI_ABORTED;
+ }
//
// Install UEFI Pkcs7 Verification Protocol