diff options
author | David S. Miller <davem@davemloft.net> | 2017-10-09 20:11:09 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-09 20:11:09 -0700 |
commit | d93fa2ba64384a0bbee4ae7409d85fccb2cfcf14 (patch) | |
tree | 8e55d9d74f46ce13e4299d23c23c72b9306798c1 /fs/namespace.c | |
parent | d0e60206bea2dec46c0a28fd6b116646aa67c5ae (diff) | |
parent | 529a86e063e9ff625c4ff247d8aa17d8072444fb (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'fs/namespace.c')
-rw-r--r-- | fs/namespace.c | 4 |
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... */ |