exec: move S_ISREG() check earlier
[sfrench/cifs-2.6.git] / fs / open.c
index c80e9f497e9bfee13a417a692d23a88eb25a2f60..9af548fb841b00aa5f5c9eb34f7e36150e090cfd 100644 (file)
--- a/fs/open.c
+++ b/fs/open.c
@@ -779,12 +779,6 @@ static int do_dentry_open(struct file *f,
                return 0;
        }
 
-       /* Any file opened for execve()/uselib() has to be a regular file. */
-       if (unlikely(f->f_flags & FMODE_EXEC && !S_ISREG(inode->i_mode))) {
-               error = -EACCES;
-               goto cleanup_file;
-       }
-
        if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) {
                error = get_write_access(inode);
                if (unlikely(error))