Re: [PATCH] CIFS: Fix oops while mounting with prefixpath

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Merged. Also note patch 34286d6662308d82aed891852d04c7c3a2649b16
introduced the deref before null check.

34286d66

On Mon, Jul 25, 2011 at 8:59 AM, Pavel Shilovsky <piastryyy@xxxxxxxxx> wrote:
> commit fec11dd9a0109fe52fd631e5c510778d6cbff6cc caused
> a regression when we have already mounted //server/share/a
> and want to mount //server/share/a/b.
>
> The problem is that lookup_one_len calls __lookup_hash
> with nd pointer as NULL. Then __lookup_hash calls
> do_revalidate in the case when dentry exists and we end
> up with NULL pointer deference in cifs_d_revalidate:
>
> if (nd->flags & LOOKUP_RCU)
>        return -ECHILD;
>
> Fix this by checking nd for NULL.
>
> Signed-off-by: Pavel Shilovsky <piastryyy@xxxxxxxxx>
> ---
>  fs/cifs/dir.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
> index fa8c21d..d8d26f3 100644
> --- a/fs/cifs/dir.c
> +++ b/fs/cifs/dir.c
> @@ -641,7 +641,7 @@ lookup_out:
>  static int
>  cifs_d_revalidate(struct dentry *direntry, struct nameidata *nd)
>  {
> -       if (nd->flags & LOOKUP_RCU)
> +       if (nd && (nd->flags & LOOKUP_RCU))
>                return -ECHILD;
>
>        if (direntry->d_inode) {
> --
> 1.7.1
>
>



-- 
Thanks,

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


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux