Blame SOURCES/rh2021263-fips_ensure_security_initialised.patch

a3b432
commit 8a8452b9ae862755210a9a2f4e34b1aa3ec7343d
a3b432
Author: Andrew Hughes <gnu.andrew@redhat.com>
a3b432
Date:   Tue Jan 18 02:00:55 2022 +0000
a3b432
a3b432
    RH2021263: Make sure java.security.Security is initialised when retrieving JavaSecuritySystemConfiguratorAccess instance
a3b432
a3b432
diff --git openjdk.orig/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java openjdk/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java
a3b432
index 2ec51d57806..8489b940c43 100644
a3b432
--- openjdk.orig/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java
a3b432
+++ openjdk/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java
a3b432
@@ -36,6 +36,7 @@ import java.io.FilePermission;
a3b432
 import java.io.ObjectInputStream;
a3b432
 import java.io.RandomAccessFile;
a3b432
 import java.security.ProtectionDomain;
a3b432
+import java.security.Security;
a3b432
 import java.security.Signature;
a3b432
 
a3b432
 /** A repository of "shared secrets", which are a mechanism for
a3b432
@@ -368,6 +369,9 @@ public class SharedSecrets {
a3b432
     }
a3b432
 
a3b432
     public static JavaSecuritySystemConfiguratorAccess getJavaSecuritySystemConfiguratorAccess() {
a3b432
+        if (javaSecuritySystemConfiguratorAccess == null) {
a3b432
+            unsafe.ensureClassInitialized(Security.class);
a3b432
+        }
a3b432
         return javaSecuritySystemConfiguratorAccess;
a3b432
     }
a3b432
 }