diff --git a/src/java.base/share/classes/jdk/internal/util/ClassFileDumper.java b/src/java.base/share/classes/jdk/internal/util/ClassFileDumper.java
index b104b56ac0e..83dafb6b49c 100644
--- a/src/java.base/share/classes/jdk/internal/util/ClassFileDumper.java
+++ b/src/java.base/share/classes/jdk/internal/util/ClassFileDumper.java
@@ -29,8 +29,6 @@ import jdk.internal.misc.VM;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
import java.util.HexFormat;
import java.util.Objects;
import java.util.Set;
@@ -79,10 +77,6 @@ public final class ClassFileDumper {
private final AtomicInteger counter = new AtomicInteger();
private ClassFileDumper(String key, String path) {
- /*
- * GetPropertyAction.privilegedGetProperty cannot be used here, Using VM.getSavedProperty to avoid a bootstrap
- * circularity issue in the java/lang/String/concat/WithSecurityManager.java test
- */
String value = VM.getSavedProperty(key);
this.key = key;
boolean enabled = value != null && value.isEmpty() ? true : Boolean.parseBoolean(value);
@@ -132,50 +126,39 @@ public final class ClassFileDumper {
write(pathname(name + ".failed-" + counter.incrementAndGet()), bytes);
}
- @SuppressWarnings("removal")
private void write(Path path, byte[] bytes) {
- AccessController.doPrivileged(new PrivilegedAction<>() {
- @Override public Void run() {
- try {
- Files.createDirectories(path.getParent());
- Files.write(path, bytes);
- } catch (Exception ex) {
- if (VM.isModuleSystemInited()) {
- // log only when lambda is ready to use
- System.getLogger(ClassFileDumper.class.getName())
- .log(System.Logger.Level.WARNING, "Exception writing to " +
- path + " " + ex.getMessage());
- }
- // simply don't care if this operation failed
- }
- return null;
- }});
+ try {
+ Files.createDirectories(path.getParent());
+ Files.write(path, bytes);
+ } catch (Exception ex) {
+ if (VM.isModuleSystemInited()) {
+ // log only when lambda is ready to use
+ System.getLogger(ClassFileDumper.class.getName())
+ .log(System.Logger.Level.WARNING, "Exception writing to " +
+ path + " " + ex.getMessage());
+ }
+ // simply don't care if this operation failed
+ }
}
/*
* Validate if the given dir is a writeable directory if exists.
*/
- @SuppressWarnings("removal")
private static Path validateDumpDir(String dir) {
- return AccessController.doPrivileged(new PrivilegedAction<>() {
- @Override
- public Path run() {
- Path path = Path.of(dir);
- if (Files.notExists(path)) {
- try {
- Files.createDirectories(path);
- } catch (IOException ex) {
- throw new IllegalArgumentException("Fail to create " + path, ex);
- }
- }
- if (!Files.isDirectory(path)) {
- throw new IllegalArgumentException("Path " + path + " is not a directory");
- } else if (!Files.isWritable(path)) {
- throw new IllegalArgumentException("Directory " + path + " is not writable");
- }
- return path;
+ Path path = Path.of(dir);
+ if (Files.notExists(path)) {
+ try {
+ Files.createDirectories(path);
+ } catch (IOException ex) {
+ throw new IllegalArgumentException("Fail to create " + path, ex);
}
- });
+ }
+ if (!Files.isDirectory(path)) {
+ throw new IllegalArgumentException("Path " + path + " is not a directory");
+ } else if (!Files.isWritable(path)) {
+ throw new IllegalArgumentException("Directory " + path + " is not writable");
+ }
+ return path;
}
private static final HexFormat HEX = HexFormat.of().withUpperCase();
diff --git a/src/java.base/share/classes/jdk/internal/util/StaticProperty.java b/src/java.base/share/classes/jdk/internal/util/StaticProperty.java
index 9dcebeca470..abe2dafa3b7 100644
--- a/src/java.base/share/classes/jdk/internal/util/StaticProperty.java
+++ b/src/java.base/share/classes/jdk/internal/util/StaticProperty.java
@@ -32,14 +32,11 @@ import java.util.Properties;
* Read-only access to System property values initialized during Phase 1
* are cached. Setting, clearing, or modifying the value using
* {@link System#setProperty} or {@link System#getProperties()} is ignored.
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in these access methods. The caller of these methods should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public final class StaticProperty {
// The class static initialization is triggered to initialize these final
- // fields during init Phase 1 and before a security manager is set.
+ // fields during init Phase 1.
private static final String JAVA_HOME;
private static final String USER_HOME;
private static final String USER_DIR;
@@ -143,10 +140,6 @@ public final class StaticProperty {
/**
* {@return the {@code java.home} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String javaHome() {
return JAVA_HOME;
@@ -154,10 +147,6 @@ public final class StaticProperty {
/**
* {@return the {@code user.home} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String userHome() {
return USER_HOME;
@@ -165,10 +154,6 @@ public final class StaticProperty {
/**
* {@return the {@code user.dir} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String userDir() {
return USER_DIR;
@@ -176,10 +161,6 @@ public final class StaticProperty {
/**
* {@return the {@code user.name} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String userName() {
return USER_NAME;
@@ -187,10 +168,6 @@ public final class StaticProperty {
/**
* {@return the {@code java.library.path} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String javaLibraryPath() {
return JAVA_LIBRARY_PATH;
@@ -198,10 +175,6 @@ public final class StaticProperty {
/**
* {@return the {@code java.io.tmpdir} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String javaIoTmpDir() {
return JAVA_IO_TMPDIR;
@@ -209,10 +182,6 @@ public final class StaticProperty {
/**
* {@return the {@code sun.boot.library.path} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String sunBootLibraryPath() {
return SUN_BOOT_LIBRARY_PATH;
@@ -221,10 +190,6 @@ public final class StaticProperty {
/**
* {@return the {@code jdk.serialFilter} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String jdkSerialFilter() {
return JDK_SERIAL_FILTER;
@@ -233,10 +198,6 @@ public final class StaticProperty {
/**
* {@return the {@code jdk.serialFilterFactory} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String jdkSerialFilterFactory() {
return JDK_SERIAL_FILTER_FACTORY;
@@ -244,10 +205,6 @@ public final class StaticProperty {
/**
* {@return the {@code native.encoding} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String nativeEncoding() {
return NATIVE_ENCODING;
@@ -255,10 +212,6 @@ public final class StaticProperty {
/**
* {@return the {@code file.encoding} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String fileEncoding() {
return FILE_ENCODING;
@@ -266,9 +219,6 @@ public final class StaticProperty {
/**
* {@return the {@code java.properties.date} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method.
*/
public static String javaPropertiesDate() {
return JAVA_PROPERTIES_DATE;
@@ -276,10 +226,6 @@ public final class StaticProperty {
/**
* {@return the {@code sun.jnu.encoding} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String jnuEncoding() {
return SUN_JNU_ENCODING;
@@ -287,10 +233,6 @@ public final class StaticProperty {
/**
* {@return the {@code java.locale.useOldISOCodes} system property}
- *
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. The caller of this method should take care to ensure
- * that the returned property is not made accessible to untrusted code.
*/
public static String javaLocaleUseOldISOCodes() {
return JAVA_LOCALE_USE_OLD_ISO_CODES;
@@ -298,8 +240,6 @@ public final class StaticProperty {
/**
* {@return the {@code os.name} system property}
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. This property is not considered security sensitive.
*/
public static String osName() {
return OS_NAME;
@@ -307,8 +247,6 @@ public final class StaticProperty {
/**
* {@return the {@code os.arch} system property}
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. This property is not considered security sensitive.
*/
public static String osArch() {
return OS_ARCH;
@@ -316,8 +254,6 @@ public final class StaticProperty {
/**
* {@return the {@code os.version} system property}
- * {@link SecurityManager#checkPropertyAccess} is NOT checked
- * in this method. This property is not considered security sensitive.
*/
public static String osVersion() {
return OS_VERSION;
diff --git a/src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java b/src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java
index 402be6b5dfe..71c4c8fbbbb 100644
--- a/src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java
+++ b/src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java
@@ -725,11 +725,7 @@ public class RandomSupport {
// The following decides which of two strategies initialSeed() will use.
private static boolean secureRandomSeedRequested() {
- @SuppressWarnings("removal")
- String pp = java.security.AccessController.doPrivileged(
- new sun.security.action.GetPropertyAction(
- "java.util.secureRandomSeed"));
- return (pp != null && pp.equalsIgnoreCase("true"));
+ return Boolean.getBoolean("java.util.secureRandomSeed");
}
private static final boolean useSecureRandomSeed = secureRandomSeedRequested();