]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ecryptfs: combine the two ATTR_SIZE blocks in ecryptfs_setattr
authorChristoph Hellwig <hch@lst.de>
Wed, 8 Apr 2026 06:06:39 +0000 (08:06 +0200)
committerTyler Hicks <code@tyhicks.com>
Wed, 8 Apr 2026 23:54:03 +0000 (18:54 -0500)
Simplify the logic in ecryptfs_setattr by combining the two ATTR_SIZE
blocks.  This initializes lower_ia before the size check, which is
obviously correct as the size check doesn't look at it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Tyler Hicks <code@tyhicks.com>
fs/ecryptfs/inode.c

index daa63b7dd015498fcd1e94899fcdb8e7e5c90fe0..ec6aae5af1f8bc0f399db0e03bb27dc23df44a79 100644 (file)
@@ -934,16 +934,15 @@ static int ecryptfs_setattr(struct mnt_idmap *idmap,
        rc = setattr_prepare(&nop_mnt_idmap, dentry, ia);
        if (rc)
                goto out;
-       if (ia->ia_valid & ATTR_SIZE) {
-               rc = ecryptfs_inode_newsize_ok(inode, ia->ia_size);
-               if (rc)
-                       goto out;
-       }
 
        memcpy(&lower_ia, ia, sizeof(lower_ia));
        if (ia->ia_valid & ATTR_FILE)
                lower_ia.ia_file = ecryptfs_file_to_lower(ia->ia_file);
        if (ia->ia_valid & ATTR_SIZE) {
+               rc = ecryptfs_inode_newsize_ok(inode, ia->ia_size);
+               if (rc)
+                       goto out;
+
                rc = truncate_upper(dentry, ia, &lower_ia);
                if (rc < 0)
                        goto out;