Merge branch 'work.dotdot1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[sfrench/cifs-2.6.git] / fs / open.c
index b69d6eed67e6a93753cce13080ebb2208dee3a0b..719b320ede52bb1482afd28fc65b8282e9d6fb94 100644 (file)
--- a/fs/open.c
+++ b/fs/open.c
@@ -1046,8 +1046,10 @@ inline int build_open_flags(const struct open_how *how, struct open_flags *op)
 
        if (flags & O_CREAT) {
                op->intent |= LOOKUP_CREATE;
-               if (flags & O_EXCL)
+               if (flags & O_EXCL) {
                        op->intent |= LOOKUP_EXCL;
+                       flags |= O_NOFOLLOW;
+               }
        }
 
        if (flags & O_DIRECTORY)