[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-cifs
Subject:    Re: [PATCH] cifs: check MaxPathNameComponentLength != 0 before using it
From:       Steve French <smfrench () gmail ! com>
Date:       2017-10-30 7:17:42
Message-ID: CAH2r5msA=tpkuLTei9dWuzKLXd=kfLjgKMo8sqcsJ+iXYMkjcg () mail ! gmail ! com
[Download RAW message or body]

merged into cifs-2.6.git for-next

On Sun, Oct 29, 2017 at 9:28 PM, Ronnie Sahlberg <lsahlber@redhat.com> wrote:
> And fix tcon leak in error path.
>
> Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
> ---
>  fs/cifs/dir.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
> index e702d48bd023..81ba6e0d88d8 100644
> --- a/fs/cifs/dir.c
> +++ b/fs/cifs/dir.c
> @@ -204,7 +204,8 @@ check_name(struct dentry *direntry, struct cifs_tcon *tcon)
>         struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb);
>         int i;
>
> -       if (unlikely(direntry->d_name.len >
> +       if (unlikely(tcon->fsAttrInfo.MaxPathNameComponentLength &&
> +                    direntry->d_name.len >
>                      le32_to_cpu(tcon->fsAttrInfo.MaxPathNameComponentLength)))
>                 return -ENAMETOOLONG;
>
> @@ -520,7 +521,7 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
>
>         rc = check_name(direntry, tcon);
>         if (rc)
> -               goto out_free_xid;
> +               goto out;
>
>         server = tcon->ses->server;
>
> --
> 2.13.3
>



-- 
Thanks,

Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic