]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ovl: copyattr after setting POSIX ACL
authorMiklos Szeredi <mszeredi@redhat.com>
Thu, 1 Sep 2016 09:12:00 +0000 (11:12 +0200)
committerShan Hai <shan.hai@oracle.com>
Fri, 4 Aug 2017 05:56:00 +0000 (13:56 +0800)
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>
fs/overlayfs/super.c

index 7d6fbe73bd49da7e00d8d596ad0a143620e53ed2..5fdfc7471fd7d184483ca432f7b82409b2763e7d 100644 (file)
@@ -919,7 +919,12 @@ ovl_posix_acl_xattr_set(struct dentry *dentry, const char *name,
 
        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);