]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 2 May 2019 02:46:11 +0000 (22:46 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Aug 2019 11:39:19 +0000 (12:39 +0100)
commit 4e9036042fedaffcd868d7f7aa948756c48c637d upstream.

To choose whether to pick the GID from the old (16bit) or new (32bit)
field, we should check if the old gid field is set to 0xffff.  Mainline
checks the old *UID* field instead - cut'n'paste from the corresponding
code in ufs_get_inode_uid().

Fixes: 252e211e90ce
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/ufs/util.h

index 3f9463f8cf2fae944ca043f9d5343578f665f705..f877d5cadd9818172806c7e07ebfbd8b205a74e2 100644 (file)
@@ -228,7 +228,7 @@ ufs_get_inode_gid(struct super_block *sb, struct ufs_inode *inode)
        case UFS_UID_44BSD:
                return fs32_to_cpu(sb, inode->ui_u3.ui_44.ui_gid);
        case UFS_UID_EFT:
-               if (inode->ui_u1.oldids.ui_suid == 0xFFFF)
+               if (inode->ui_u1.oldids.ui_sgid == 0xFFFF)
                        return fs32_to_cpu(sb, inode->ui_u3.ui_sun.ui_gid);
                /* Fall through */
        default: