}
 
 /*
+ * load_moklist_certs() - Load MokList certs
+ *
+ * Load the certs contained in the UEFI MokListRT database into the
+ * platform trusted keyring.
+ *
+ * Return:     Status
+ */
+static int __init load_moklist_certs(void)
+{
+       efi_guid_t mok_var = EFI_SHIM_LOCK_GUID;
+       void *mok;
+       unsigned long moksize;
+       efi_status_t status;
+       int rc;
+
+       /* Get MokListRT. It might not exist, so it isn't an error
+        * if we can't get it.
+        */
+       mok = get_cert_list(L"MokListRT", &mok_var, &moksize, &status);
+       if (mok) {
+               rc = parse_efi_signature_list("UEFI:MokListRT",
+                                             mok, moksize, get_handler_for_db);
+               kfree(mok);
+               if (rc)
+                       pr_err("Couldn't parse MokListRT signatures: %d\n", rc);
+               return rc;
+       }
+       if (status == EFI_NOT_FOUND)
+               pr_debug("MokListRT variable wasn't found\n");
+       else
+               pr_info("Couldn't get UEFI MokListRT\n");
+       return 0;
+}
+
+/*
+ * load_uefi_certs() - Load certs from UEFI sources
+ *
  * Load the certs contained in the UEFI databases into the platform trusted
  * keyring and the UEFI blacklisted X.509 cert SHA256 hashes into the blacklist
  * keyring.
 static int __init load_uefi_certs(void)
 {
        efi_guid_t secure_var = EFI_IMAGE_SECURITY_DATABASE_GUID;
-       efi_guid_t mok_var = EFI_SHIM_LOCK_GUID;
-       void *db = NULL, *dbx = NULL, *mok = NULL;
-       unsigned long dbsize = 0, dbxsize = 0, moksize = 0;
+       void *db = NULL, *dbx = NULL;
+       unsigned long dbsize = 0, dbxsize = 0;
        efi_status_t status;
        int rc = 0;
 
        if (!efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE))
                return false;
 
-       /* Get db, MokListRT, and dbx.  They might not exist, so it isn't
-        * an error if we can't get them.
+       /* Get db and dbx.  They might not exist, so it isn't an error
+        * if we can't get them.
         */
        if (!uefi_check_ignore_db()) {
                db = get_cert_list(L"db", &secure_var, &dbsize, &status);
                }
        }
 
-       mok = get_cert_list(L"MokListRT", &mok_var, &moksize, &status);
-       if (!mok) {
-               if (status == EFI_NOT_FOUND)
-                       pr_debug("MokListRT variable wasn't found\n");
-               else
-                       pr_info("Couldn't get UEFI MokListRT\n");
-       } else {
-               rc = parse_efi_signature_list("UEFI:MokListRT",
-                                             mok, moksize, get_handler_for_db);
-               if (rc)
-                       pr_err("Couldn't parse MokListRT signatures: %d\n", rc);
-               kfree(mok);
-       }
-
        dbx = get_cert_list(L"dbx", &secure_var, &dbxsize, &status);
        if (!dbx) {
                if (status == EFI_NOT_FOUND)
                kfree(dbx);
        }
 
+       /* Load the MokListRT certs */
+       rc = load_moklist_certs();
+
        return rc;
 }
 late_initcall(load_uefi_certs);