]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cifs: Remove symlink member from cifs_open_info_data union
authorPali Rohár <pali@kernel.org>
Thu, 26 Dec 2024 13:50:38 +0000 (14:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 12:01:39 +0000 (13:01 +0100)
[ Upstream commit 65c49767dd4fc058673f9259fda1772fd398eaa7 ]

Member 'symlink' is part of the union in struct cifs_open_info_data. Its
value is assigned on few places, but is always read through another union
member 'reparse_point'. So to make code more readable, always use only
'reparse_point' member and drop whole union structure. No function change.

Signed-off-by: Pali Rohár <pali@kernel.org>
Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Stable-dep-of: 9df23801c83d ("smb311: failure to open files of length 1040 when mounting with SMB3.1.1 POSIX extensions")
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/smb/client/cifsglob.h
fs/smb/client/inode.c
fs/smb/client/smb1ops.c

index 05274121e46f0410983049efb0b5dc5174cae41f..0979feb30bedba88b4c14d00b68e82a4c60be0bc 100644 (file)
@@ -209,10 +209,7 @@ struct cifs_cred {
 
 struct cifs_open_info_data {
        bool adjust_tz;
-       union {
-               bool reparse_point;
-               bool symlink;
-       };
+       bool reparse_point;
        struct {
                /* ioctl response buffer */
                struct {
index e11e67af760f44cbaa7fde175a3ac29bb2a40b8c..a3f0835e12be3151869ca5c35ddc72fc812a21cd 100644 (file)
@@ -968,7 +968,7 @@ cifs_get_file_info(struct file *filp)
                /* TODO: add support to query reparse tag */
                data.adjust_tz = false;
                if (data.symlink_target) {
-                       data.symlink = true;
+                       data.reparse_point = true;
                        data.reparse.tag = IO_REPARSE_TAG_SYMLINK;
                }
                path = build_path_from_dentry(dentry, page);
index c70f4961c4eb781b5bb5b28cd80a21d228601580..bd791aa54681f636730761ea3105a44890828444 100644 (file)
@@ -551,7 +551,7 @@ static int cifs_query_path_info(const unsigned int xid,
        int rc;
        FILE_ALL_INFO fi = {};
 
-       data->symlink = false;
+       data->reparse_point = false;
        data->adjust_tz = false;
 
        /* could do find first instead but this returns more info */
@@ -592,7 +592,7 @@ static int cifs_query_path_info(const unsigned int xid,
                /* Need to check if this is a symbolic link or not */
                tmprc = CIFS_open(xid, &oparms, &oplock, NULL);
                if (tmprc == -EOPNOTSUPP)
-                       data->symlink = true;
+                       data->reparse_point = true;
                else if (tmprc == 0)
                        CIFSSMBClose(xid, tcon, fid.netfid);
        }