diff --git a/ojluni/src/main/java/java/io/FileInputStream.java b/ojluni/src/main/java/java/io/FileInputStream.java
index a6d9a9f..25bc312 100755
--- a/ojluni/src/main/java/java/io/FileInputStream.java
+++ b/ojluni/src/main/java/java/io/FileInputStream.java
@@ -166,21 +166,18 @@
      * I/O on the stream, an <code>IOException</code> is thrown.
      *
      * @param      fdObj   the file descriptor to be opened for reading.
-     * @throws     SecurityException      if a security manager exists and its
-     *                 <code>checkRead</code> method denies read access to the
-     *                 file descriptor.
-     * @see        SecurityManager#checkRead(java.io.FileDescriptor)
      */
     public FileInputStream(FileDescriptor fdObj) {
-        SecurityManager security = System.getSecurityManager();
+        this(fdObj, false /* isFdOwner */);
+    }
+
+    /** @hide */
+    public FileInputStream(FileDescriptor fdObj, boolean isFdOwner) {
         if (fdObj == null) {
-            throw new NullPointerException();
-        }
-        if (security != null) {
-            security.checkRead(fdObj);
+            throw new NullPointerException("fdObj == null");
         }
         fd = fdObj;
-        isFdOwner = false;
+        this.isFdOwner = isFdOwner;
         path = null;
     }
 
diff --git a/ojluni/src/main/java/java/lang/UNIXProcess.java b/ojluni/src/main/java/java/lang/UNIXProcess.java
index 59e2b00..40fd8bb 100644
--- a/ojluni/src/main/java/java/lang/UNIXProcess.java
+++ b/ojluni/src/main/java/java/lang/UNIXProcess.java
@@ -267,7 +267,7 @@
      */
     static class ProcessPipeInputStream extends BufferedInputStream {
         ProcessPipeInputStream(int fd) {
-            super(new FileInputStream(newFileDescriptor(fd)));
+            super(new FileInputStream(newFileDescriptor(fd), true /* isFdOwner */));
         }
 
         private static byte[] drainInputStream(InputStream in)
