gfs2: Switch to may_setattr in gfs2_setattr
authorAndreas Gruenbacher <agruenba@redhat.com>
Wed, 28 Jul 2021 12:47:34 +0000 (07:47 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 13 Aug 2021 04:41:05 +0000 (00:41 -0400)
The permission check in gfs2_setattr is an old and outdated version of
may_setattr().  Switch to the updated version.

Fixes fstest generic/079.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/gfs2/inode.c

index 6e15434..3130f85 100644 (file)
@@ -1985,8 +1985,8 @@ static int gfs2_setattr(struct user_namespace *mnt_userns,
        if (error)
                goto out;
 
-       error = -EPERM;
-       if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
+       error = may_setattr(&init_user_ns, inode, attr->ia_valid);
+       if (error)
                goto error;
 
        error = setattr_prepare(&init_user_ns, dentry, attr);