Re: [PATCH] smb: client: scope end_of_dacl to CIFS_DEBUG2 use in parse_dacl

From: Steve French

Date: Tue Apr 21 2026 - 19:58:56 EST


merged into cifs-2.6.git for-next

On Tue, Apr 21, 2026 at 6:40 PM Michael Bommarito
<michael.bommarito@xxxxxxxxx> wrote:
>
> 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@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202604220046.tGkRxVtS-lkp@xxxxxxxxx/
> Fixes: 149822e5541c ("smb: client: validate the whole DACL before rewriting it in cifsacl")
> Signed-off-by: Michael Bommarito <michael.bommarito@xxxxxxxxx>
> Assisted-by: Claude:claude-opus-4-7
> ---
> fs/smb/client/cifsacl.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/smb/client/cifsacl.c b/fs/smb/client/cifsacl.c
> index 4ec204d2c774..ec5d47779304 100644
> --- a/fs/smb/client/cifsacl.c
> +++ b/fs/smb/client/cifsacl.c
> @@ -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 &&
> --
> 2.53.0
>
>


--
Thanks,

Steve