Re: [PATCH] cifs: fail i/o on soft mounts if sessionsetup errors out

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

 



Added cc:stable and merged into cifs-2.6.git for-next

On Tue, Feb 4, 2020 at 7:08 PM Ronnie Sahlberg <lsahlber@xxxxxxxxxx> wrote:
>
> RHBZ: 1579050
>
> If we have a soft mount we should fail commands for session-setup
> failures (such as the password having changed/ account being deleted/ ...)
> and return an error back to the application.
>
> Signed-off-by: Ronnie Sahlberg <lsahlber@xxxxxxxxxx>
> ---
>  fs/cifs/smb2pdu.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
> index 14f209f7376f..7996d81230aa 100644
> --- a/fs/cifs/smb2pdu.c
> +++ b/fs/cifs/smb2pdu.c
> @@ -350,9 +350,14 @@ smb2_reconnect(__le16 smb2_command, struct cifs_tcon *tcon)
>         }
>
>         rc = cifs_negotiate_protocol(0, tcon->ses);
> -       if (!rc && tcon->ses->need_reconnect)
> +       if (!rc && tcon->ses->need_reconnect) {
>                 rc = cifs_setup_session(0, tcon->ses, nls_codepage);
> -
> +               if ((rc == -EACCES) && !tcon->retry) {
> +                       rc = -EHOSTDOWN;
> +                       mutex_unlock(&tcon->ses->session_mutex);
> +                       goto failed;
> +               }
> +       }
>         if (rc || !tcon->need_reconnect) {
>                 mutex_unlock(&tcon->ses->session_mutex);
>                 goto out;
> @@ -397,6 +402,7 @@ smb2_reconnect(__le16 smb2_command, struct cifs_tcon *tcon)
>         case SMB2_SET_INFO:
>                 rc = -EAGAIN;
>         }
> +failed:
>         unload_nls(nls_codepage);
>         return rc;
>  }
> --
> 2.13.6
>


-- 
Thanks,

Steve



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

  Powered by Linux