• Tyler Hicks's avatar
    eCryptfs: Copy up POSIX ACL and read-only flags from lower mount · 916fef09
    Tyler Hicks authored
    commit 069ddcda upstream.
    
    When the eCryptfs mount options do not include '-o acl', but the lower
    filesystem's mount options do include 'acl', the MS_POSIXACL flag is not
    flipped on in the eCryptfs super block flags. This flag is what the VFS
    checks in do_last() when deciding if the current umask should be applied
    to a newly created inode's mode or not. When a default POSIX ACL mask is
    set on a directory, the current umask is incorrectly applied to new
    inodes created in the directory. This patch ignores the MS_POSIXACL flag
    passed into ecryptfs_mount() and sets the flag on the eCryptfs super
    block depending on the flag's presence on the lower super block.
    
    Additionally, it is incorrect to allow a writeable eCryptfs mount on top
    of a read-only lower mount. This missing check did not allow writes to
    the read-only lower mount because permissions checks are still performed
    on the lower filesystem's objects but it is best to simply not allow a
    rw mount on top of ro mount. However, a ro eCryptfs mount on top of a rw
    mount is valid and still allowed.
    
    https://launchpad.net/bugs/1009207Signed-off-by: default avatarTyler Hicks <tyhicks@canonical.com>
    Reported-by: default avatarStefan Beller <stefanbeller@googlemail.com>
    Cc: John Johansen <john.johansen@canonical.com>
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    916fef09
main.c 24.8 KB