LGTM On Wed, 14 Sept 2022 at 14:47, Paulo Alcantara <pc@xxxxxx> wrote: > > Add missing spinlock to protect updates on tcon refcount in > cifs_put_tcon(). > > Fixes: d7d7a66aacd6 ("cifs: avoid use of global locks for high contention data") > Signed-off-by: Paulo Alcantara (SUSE) <pc@xxxxxx> > --- > fs/cifs/connect.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c > index 251753d0a54b..23fc48aa2ed6 100644 > --- a/fs/cifs/connect.c > +++ b/fs/cifs/connect.c > @@ -2350,7 +2350,9 @@ cifs_put_tcon(struct cifs_tcon *tcon) > ses = tcon->ses; > cifs_dbg(FYI, "%s: tc_count=%d\n", __func__, tcon->tc_count); > spin_lock(&cifs_tcp_ses_lock); > + spin_lock(&tcon->tc_lock); > if (--tcon->tc_count > 0) { > + spin_unlock(&tcon->tc_lock); > spin_unlock(&cifs_tcp_ses_lock); > return; > } > @@ -2359,6 +2361,7 @@ cifs_put_tcon(struct cifs_tcon *tcon) > WARN_ON(tcon->tc_count < 0); > > list_del_init(&tcon->tcon_list); > + spin_unlock(&tcon->tc_lock); > spin_unlock(&cifs_tcp_ses_lock); > > /* cancel polling of interfaces */ > -- > 2.37.3 >