diff options
-rw-r--r-- | fs/overlayfs/inode.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c index 5becbaf..8f7dd54 100644 --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c @@ -184,6 +184,8 @@ int ovl_permission(struct inode *inode, int mask) return err; old_cred = ovl_override_creds(inode->i_sb); + if (!is_upper) + mask &= ~(MAY_WRITE | MAY_APPEND); err = __inode_permission(realinode, mask); revert_creds(old_cred); |