cifs: Fix wrong return value checking when GETFLAGS
authorZhang Xiaoxu <zhangxiaoxu5@huawei.com>
Tue, 15 Nov 2022 10:39:34 +0000 (18:39 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Nov 2022 08:24:41 +0000 (09:24 +0100)
[ Upstream commit 92bbd67a55fee50743b42825d1c016e7fd5c79f9 ]

The return value of CIFSGetExtAttr is negative, should be checked
with -EOPNOTSUPP rather than EOPNOTSUPP.

Fixes: 64a5cfa6db94 ("Allow setting per-file compression via SMB2/3")
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/cifs/ioctl.c

index 0359b60..71883ba 100644 (file)
@@ -342,7 +342,7 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
                                        rc = put_user(ExtAttrBits &
                                                FS_FL_USER_VISIBLE,
                                                (int __user *)arg);
-                               if (rc != EOPNOTSUPP)
+                               if (rc != -EOPNOTSUPP)
                                        break;
                        }
 #endif /* CONFIG_CIFS_POSIX */
@@ -371,7 +371,7 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
                         *                     pSMBFile->fid.netfid,
                         *                     extAttrBits,
                         *                     &ExtAttrMask);
-                        * if (rc != EOPNOTSUPP)
+                        * if (rc != -EOPNOTSUPP)
                         *      break;
                         */