• Ernesto A. Fernández's avatar
    reiserfs: preserve i_mode if __reiserfs_set_acl() fails · fcea8aed
    Ernesto A. Fernández authored
    When changing a file's acl mask, reiserfs_set_acl() will first set the
    group bits of i_mode to the value of the mask, and only then set the
    actual extended attribute representing the new acl.
    
    If the second part fails (due to lack of space, for example) and the
    file had no acl attribute to begin with, the system will from now on
    assume that the mask permission bits are actual group permission bits,
    potentially granting access to the wrong users.
    
    Prevent this by only changing the inode mode after the acl has been set.
    Signed-off-by: default avatarErnesto A. Fernández <ernesto.mnd.fernandez@gmail.com>
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    fcea8aed
xattr_acl.c 9.57 KB