]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ksmbd: fix warning: comparison of distinct pointer types lacks a cast
authorNamjae Jeon <linkinjeon@kernel.org>
Thu, 19 Sep 2024 00:22:57 +0000 (09:22 +0900)
committerSteve French <stfrench@microsoft.com>
Sat, 21 Sep 2024 03:16:11 +0000 (22:16 -0500)
smb2pdu.c: In function ‘smb2_open’:
./include/linux/minmax.h:20:28: warning: comparison of distinct
pointer types lacks a cast
   20 |  (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
      |                            ^~
./include/linux/minmax.h:26:4: note: in expansion of macro ‘__typecheck’
   26 |   (__typecheck(x, y) && __no_side_effects(x, y))
      |    ^~~~~~~~~~~
./include/linux/minmax.h:36:24: note: in expansion of macro ‘__safe_cmp’
   36 |  __builtin_choose_expr(__safe_cmp(x, y), \
      |                        ^~~~~~~~~~
./include/linux/minmax.h:45:19: note: in expansion of macro ‘__careful_cmp’
   45 | #define min(x, y) __careful_cmp(x, y, <)
      |                   ^~~~~~~~~~~~~
/home/linkinjeon/git/smbd_work/ksmbd/smb2pdu.c:3713:27: note: in
expansion of macro ‘min’
 3713 |     fp->durable_timeout = min(dh_info.timeout,

Fixes: c8efcc786146 ("ksmbd: add support for durable handles v1/v2")
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/smb2pdu.c
fs/smb/server/vfs_cache.h

index e6bdc1b2072726a72648952a4e61a2f210c2783c..28cd66fa8e05f17142ce9b0b802314df3dcf9a2e 100644 (file)
@@ -3531,8 +3531,9 @@ int smb2_open(struct ksmbd_work *work)
                        memcpy(fp->create_guid, dh_info.CreateGuid,
                                        SMB2_CREATE_GUID_SIZE);
                        if (dh_info.timeout)
-                               fp->durable_timeout = min(dh_info.timeout,
-                                               DURABLE_HANDLE_MAX_TIMEOUT);
+                               fp->durable_timeout =
+                                       min_t(unsigned int, dh_info.timeout,
+                                             DURABLE_HANDLE_MAX_TIMEOUT);
                        else
                                fp->durable_timeout = 60;
                }
index b0f6d0f94cb8dee3113f03b5a9fe4e1af331854f..5bbb179736c29c1e4b8af20056d0a57728aaf91a 100644 (file)
@@ -100,8 +100,8 @@ struct ksmbd_file {
        struct list_head                blocked_works;
        struct list_head                lock_list;
 
-       int                             durable_timeout;
-       int                             durable_scavenger_timeout;
+       unsigned int                    durable_timeout;
+       unsigned int                    durable_scavenger_timeout;
 
        /* if ls is happening on directory, below is valid*/
        struct ksmbd_readdir_data       readdir_data;