1 --- jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java
2 +++ jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java
3 @@ -27,6 +27,8 @@
4 
5  import java.nio.file.spi.FileSystemProvider;
6  import java.security.AccessController;
7 +import java.util.Set;
8 +import java.util.HashSet;
9  import sun.security.action.GetPropertyAction;
10 
11  /**
12 @@ -36,6 +38,15 @@
13  public class DefaultFileSystemProvider {
14      private DefaultFileSystemProvider() { }
15 
16 +    private static final Set<String> validFileSystemProviders
17 +        = new HashSet<String>();
18 +    static {
19 +        validFileSystemProviders.add("sun.nio.fs.SolarisFileSystemProvider");
20 +        validFileSystemProviders.add("sun.nio.fs.LinuxFileSystemProvider");
21 +        validFileSystemProviders.add("sun.nio.fs.BsdFileSystemProvider");
22 +        validFileSystemProviders.add("sun.nio.fs.MacOSXFileSystemProvider");
23 +    }
24 +
25      @SuppressWarnings("unchecked")
26      private static FileSystemProvider createProvider(String cn) {
27          Class<FileSystemProvider> c;
28 @@ -57,6 +68,10 @@
29      public static FileSystemProvider create() {
30          String osname = AccessController
31              .doPrivileged(new GetPropertyAction("os.name"));
32 +        String fileSystemProvider = System
33 +            .getProperty("java.nio.file.spi.DefaultFileSystemProvider");
34 +        if (validFileSystemProviders.contains(fileSystemProvider))
35 +            return createProvider(fileSystemProvider);
36          if (osname.equals("SunOS"))
37              return createProvider("sun.nio.fs.SolarisFileSystemProvider");
38          if (osname.equals("Linux"))
39