]> Pileus Git - ~andy/linux/blobdiff - fs/file.c
Merge branch 'master' of git://1984.lsi.us.es/nf
[~andy/linux] / fs / file.c
index 0f1bda4bebfaa77280a1234a2b8e19edb4b8d94b..d3b5fa80b71b76a973919a6b9cfa2ebb34096adf 100644 (file)
--- a/fs/file.c
+++ b/fs/file.c
@@ -922,6 +922,9 @@ SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags)
        if ((flags & ~O_CLOEXEC) != 0)
                return -EINVAL;
 
+       if (unlikely(oldfd == newfd))
+               return -EINVAL;
+
        if (newfd >= rlimit(RLIMIT_NOFILE))
                return -EMFILE;