ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour [Linux 3.16.72]

This Linux kernel change "ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour" is included in the Linux 3.16.72 release. This change is authored by Al Viro <viro [at] zeniv.linux.org.uk> on Wed May 1 22:46:11 2019 -0400. The commit for this change in Linux stable tree is 7c2c1c9 (patch) which is from upstream commit 4e90360. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream 4e90360.

ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour

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 <[email protected]>
Signed-off-by: Ben Hutchings <[email protected]>

There are 2 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 fs/ufs/util.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/ufs/util.h b/fs/ufs/util.h
index 3f9463f..f877d5cad 100644
--- a/fs/ufs/util.h
+++ b/fs/ufs/util.h
@@ -228,7 +228,7 @@ static inline struct ufs_buffer_head *USPI_UBH(struct ufs_sb_private_info *spi)
    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 */

Leave a Reply

Your email address will not be published. Required fields are marked *