summaryrefslogtreecommitdiff
path: root/fs/namespace.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-10-23 13:30:47 +0200
committerIngo Molnar <mingo@kernel.org>2017-10-23 13:30:47 +0200
commitf95b23a112f1a31ea042483540cd907b58d23a5f (patch)
tree3d41d2f8cf1d66ed593deb12f25a30d2905eb077 /fs/namespace.c
parentda20ab35180780e4a6eadc804544f1fa967f3567 (diff)
parent58c3862b521ead4f69a24ef009a679cb3c519620 (diff)
Merge branch 'x86/urgent' into x86/asm, to pick up dependent fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'fs/namespace.c')
-rw-r--r--fs/namespace.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/namespace.c b/fs/namespace.c
index 54059b142d6b..3b601f115b6c 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -468,7 +468,9 @@ static inline int may_write_real(struct file *file)
/* File refers to upper, writable layer? */
upperdentry = d_real(dentry, NULL, 0, D_REAL_UPPER);
- if (upperdentry && file_inode(file) == d_inode(upperdentry))
+ if (upperdentry &&
+ (file_inode(file) == d_inode(upperdentry) ||
+ file_inode(file) == d_inode(dentry)))
return 0;
/* Lower layer: can't write to real file, sorry... */