Re: [PATCH] cifs: always do is_path_accessible check in cifs_mount

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

 



merged

On Mon, Mar 14, 2011 at 12:48 PM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> Currently, we skip doing the is_path_accessible check in cifs_mount if
> there is no prefixpath. I have a report of at least one server however
> that allows a TREE_CONNECT to a share that has a DFS referral at its
> root. The reporter in this case was using a UNC that had no prefixpath,
> so the is_path_accessible check was not triggered and the box later hit
> a BUG() because we were chasing a DFS referral on the root dentry for
> the mount.
>
> This patch fixes this by removing the check for a zero-length
> prefixpath.  That should make the is_path_accessible check be done in
> this situation and should allow the client to chase the DFS referral at
> mount time instead.
>
> Cc: stable@xxxxxxxxxx
> Reported-and-Tested-by: Yogesh Sharma <ysharma@xxxxxxxxx>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
>  fs/cifs/connect.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 63ec77c..b82e8af 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -2865,7 +2865,7 @@ try_mount_again:
>
>  remote_path_check:
>        /* check if a whole path (including prepath) is not remote */
> -       if (!rc && cifs_sb->prepathlen && tcon) {
> +       if (!rc && tcon) {
>                /* build_path_to_root works only when we have a valid tcon */
>                full_path = cifs_build_path_to_root(cifs_sb, tcon);
>                if (full_path == NULL) {
> --
> 1.7.4
>
>



-- 
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