]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb: client: scope end_of_dacl to CIFS_DEBUG2 use in parse_dacl
authorMichael Bommarito <michael.bommarito@gmail.com>
Tue, 21 Apr 2026 23:40:22 +0000 (19:40 -0400)
committerSteve French <stfrench@microsoft.com>
Wed, 22 Apr 2026 14:54:26 +0000 (09:54 -0500)
After validate_dacl() was factored out in commit 149822e5541c, the
local end_of_dacl in parse_dacl() is only read by the dump_ace()
call under #ifdef CONFIG_CIFS_DEBUG2.  With CIFS_DEBUG2 off the
variable is assigned but never used, which gcc -W=1 flags as
-Wunused-but-set-variable.

Remove the local and compute the end-of-dacl pointer inline at the
single call site inside the existing CIFS_DEBUG2 guard.  No
functional change: when CIFS_DEBUG2 is enabled the argument value
is identical to what the removed local carried; when CIFS_DEBUG2
is disabled the code was already dead.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202604220046.tGkRxVtS-lkp@intel.com/
Fixes: 149822e5541c ("smb: client: validate the whole DACL before rewriting it in cifsacl")
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
Assisted-by: Claude:claude-opus-4-7
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/cifsacl.c

index 4ec204d2c7742b561c50fb37be358f3ef656d53b..ec5d477793040c0854814d6bac347156a99bc1ab 100644 (file)
@@ -836,7 +836,7 @@ static void parse_dacl(struct smb_acl *pdacl, char *end_of_acl,
        int i;
        u16 num_aces = 0;
        int acl_size;
-       char *acl_base, *end_of_dacl;
+       char *acl_base;
        struct smb_ace **ppace;
 
        /* BB need to add parm so we can store the SID BB */
@@ -860,7 +860,6 @@ static void parse_dacl(struct smb_acl *pdacl, char *end_of_acl,
           user/group/other have no permissions */
        fattr->cf_mode &= ~(0777);
 
-       end_of_dacl = (char *)pdacl + le16_to_cpu(pdacl->size);
        acl_base = (char *)pdacl;
        acl_size = sizeof(struct smb_acl);
 
@@ -876,7 +875,8 @@ static void parse_dacl(struct smb_acl *pdacl, char *end_of_acl,
                        ppace[i] = (struct smb_ace *) (acl_base + acl_size);
 
 #ifdef CONFIG_CIFS_DEBUG2
-                       dump_ace(ppace[i], end_of_dacl);
+                       dump_ace(ppace[i],
+                                (char *)pdacl + le16_to_cpu(pdacl->size));
 #endif
                        if (mode_from_special_sid &&
                            ppace[i]->sid.num_subauth >= 3 &&