Setting POSIX acl may also modify the file mode, so need to copy that up to
the overlay inode.
Reported-by: Eryu Guan <eguan@redhat.com>
Fixes: d837a49bd57f ("ovl: fix POSIX ACL setting")
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Orabug:
26401569
(backport upstream commit
ce31513a9114f74fe3e9caa6534d201bdac7238d)
call d_inode to get inode from dentry.
Signed-off-by: Shan Hai <shan.hai@oracle.com>
Reviewed-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
posix_acl_release(acl);
- return ovl_xattr_set(dentry, name, value, size, flags);
+ err = ovl_xattr_set(dentry, name, value, size, flags);
+ if (!err)
+ ovl_copyattr(ovl_inode_real(d_inode(dentry), NULL),
+ d_inode(dentry));
+
+ return err;
out_acl_release:
posix_acl_release(acl);