diff mbox series

[-next] cifs: fix wrong unlock before return from cifs_tree_connect()

Message ID 20220729074935.115072-1-yangyingliang@huawei.com
State New
Headers show
Series [-next] cifs: fix wrong unlock before return from cifs_tree_connect() | expand

Commit Message

Yang Yingliang July 29, 2022, 7:49 a.m. UTC
It should unlock 'tcon->tc_lock' before return from cifs_tree_connect().

Fixes: fe67bd563ec2 ("cifs: avoid use of global locks for high contention data")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 fs/cifs/connect.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Steve French July 29, 2022, 3:34 p.m. UTC | #1
merged into cifs-2.6.git for-next

On Fri, Jul 29, 2022 at 2:45 AM Yang Yingliang <yangyingliang@huawei.com> wrote:
>
> It should unlock 'tcon->tc_lock' before return from cifs_tree_connect().
>
> Fixes: fe67bd563ec2 ("cifs: avoid use of global locks for high contention data")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
>  fs/cifs/connect.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 931d4b6fafc8..1362210f3ece 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -4583,7 +4583,7 @@ int cifs_tree_connect(const unsigned int xid, struct cifs_tcon *tcon, const stru
>         if (tcon->ses->ses_status != SES_GOOD ||
>             (tcon->status != TID_NEW &&
>             tcon->status != TID_NEED_TCON)) {
> -               spin_unlock(&tcon->ses->ses_lock);
> +               spin_unlock(&tcon->tc_lock);
>                 return 0;
>         }
>         tcon->status = TID_IN_TCON;
> --
> 2.25.1
>
Shyam Prasad N Aug. 1, 2022, 2:32 a.m. UTC | #2
On Fri, Jul 29, 2022 at 9:08 PM Steve French <smfrench@gmail.com> wrote:
>
> merged into cifs-2.6.git for-next
>
> On Fri, Jul 29, 2022 at 2:45 AM Yang Yingliang <yangyingliang@huawei.com> wrote:
> >
> > It should unlock 'tcon->tc_lock' before return from cifs_tree_connect().
> >
> > Fixes: fe67bd563ec2 ("cifs: avoid use of global locks for high contention data")
> > Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> > ---
> >  fs/cifs/connect.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> > index 931d4b6fafc8..1362210f3ece 100644
> > --- a/fs/cifs/connect.c
> > +++ b/fs/cifs/connect.c
> > @@ -4583,7 +4583,7 @@ int cifs_tree_connect(const unsigned int xid, struct cifs_tcon *tcon, const stru
> >         if (tcon->ses->ses_status != SES_GOOD ||
> >             (tcon->status != TID_NEW &&
> >             tcon->status != TID_NEED_TCON)) {
> > -               spin_unlock(&tcon->ses->ses_lock);
> > +               spin_unlock(&tcon->tc_lock);
> >                 return 0;
> >         }
> >         tcon->status = TID_IN_TCON;
> > --
> > 2.25.1
> >
>
>
> --
> Thanks,
>
> Steve

Good catch. Looks good to me.
diff mbox series

Patch

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 931d4b6fafc8..1362210f3ece 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -4583,7 +4583,7 @@  int cifs_tree_connect(const unsigned int xid, struct cifs_tcon *tcon, const stru
 	if (tcon->ses->ses_status != SES_GOOD ||
 	    (tcon->status != TID_NEW &&
 	    tcon->status != TID_NEED_TCON)) {
-		spin_unlock(&tcon->ses->ses_lock);
+		spin_unlock(&tcon->tc_lock);
 		return 0;
 	}
 	tcon->status = TID_IN_TCON;