cifsd: fix warning: variable 'total_ace_size' and 'posix_ccontext' set but not used
authorNamjae Jeon <namjae.jeon@samsung.com>
Sun, 21 Mar 2021 08:30:49 +0000 (17:30 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 11 May 2021 00:15:24 +0000 (19:15 -0500)
kernel test robot reported warnings:

   fs/cifsd/smbacl.c: In function 'parse_sec_desc':
>> fs/cifsd/smbacl.c:786:6: warning: variable 'total_ace_size' set but
not used [-Wunused-but-set-variable]
     786 |  int total_ace_size = 0, pntsd_type;
         |      ^~~~~~~~~~~~~~
--
   fs/cifsd/smb2pdu.c: In function 'smb2_open':
>> fs/cifsd/smb2pdu.c:3285:26: warning: variable 'posix_ccontext' set but
not used [-Wunused-but-set-variable]
    3285 |   struct create_context *posix_ccontext;
         |                          ^~~~~~~~~~~~~~

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifsd/smb2pdu.c
fs/cifsd/smbacl.c

index e4b91838d35c55a1959af26feeb3fd5e47be91b2..4ec45c3fa00ef191303fae6ae7477fb7287cdb7b 100644 (file)
@@ -3283,10 +3283,6 @@ reconnected:
        }
 
        if (posix_ctxt) {
-               struct create_context *posix_ccontext;
-
-               posix_ccontext = (struct create_context *)(rsp->Buffer +
-                               le32_to_cpu(rsp->CreateContextsLength));
                contxt_cnt++;
                create_posix_rsp_buf(rsp->Buffer +
                                le32_to_cpu(rsp->CreateContextsLength),
index 77c79cf4afd01a3d2506e0f3e337fb5ca804ac0f..7f6d5313a02c0cdedc985e585bfa03cbc6825bf2 100644 (file)
@@ -389,7 +389,8 @@ static void parse_dacl(struct smb_acl *pdacl, char *end_of_acl,
                return;
 
        /* validate that we do not go past end of acl */
-       if (end_of_acl < (char *)pdacl + le16_to_cpu(pdacl->size)) {
+       if (end_of_acl <= (char *)pdacl ||
+           end_of_acl < (char *)pdacl + le16_to_cpu(pdacl->size)) {
                ksmbd_err("ACL too small to parse DACL\n");
                return;
        }
@@ -783,7 +784,7 @@ int parse_sec_desc(struct smb_ntsd *pntsd, int acl_len,
        struct smb_acl *dacl_ptr; /* no need for SACL ptr */
        char *end_of_acl = ((char *)pntsd) + acl_len;
        __u32 dacloffset;
-       int total_ace_size = 0, pntsd_type;
+       int pntsd_type;
 
        if (pntsd == NULL)
                return -EIO;
@@ -800,16 +801,7 @@ int parse_sec_desc(struct smb_ntsd *pntsd, int acl_len,
                 le32_to_cpu(pntsd->gsidoffset),
                 le32_to_cpu(pntsd->sacloffset), dacloffset);
 
-       if (dacloffset) {
-               if (end_of_acl <= (char *)dacl_ptr ||
-                   end_of_acl < (char *)dacl_ptr + le16_to_cpu(dacl_ptr->size))
-                       return -EIO;
-               total_ace_size =
-                       le16_to_cpu(dacl_ptr->size) - sizeof(struct smb_acl);
-       }
-
        pntsd_type = le16_to_cpu(pntsd->type);
-
        if (!(pntsd_type & DACL_PRESENT)) {
                ksmbd_debug(SMB, "DACL_PRESENT in DACL type is not set\n");
                return rc;