Re: [PATCH] smb: client: fix deadlock in smb2_find_smb_tcon()

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

 



On 06/06, Steve French wrote:
Merged into cifs-2.6.git for-next.  Is this an easy repro scenario?

Not really. I'm still assessing the actual root cause, but the whole
superblock got corrupted (my assumption so far is probably because of
an umount + mount + restart of autofs with a very specific timing).

Shouldn't we Cc: stable or tag Fixes for 24a9799aa8ef smb: client: fix
UAF in smb2_reconnect_server()

Ok.


On Thu, Jun 6, 2024 at 11:14 AM Enzo Matsumiya <ematsumiya@xxxxxxx> wrote:

Unlock cifs_tcp_ses_lock before calling cifs_put_smb_ses() to avoid such
deadlock.

Signed-off-by: Enzo Matsumiya <ematsumiya@xxxxxxx>
---
 fs/smb/client/smb2transport.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/smb/client/smb2transport.c b/fs/smb/client/smb2transport.c
index 02135a605305..1476c445cadc 100644
--- a/fs/smb/client/smb2transport.c
+++ b/fs/smb/client/smb2transport.c
@@ -216,8 +216,8 @@ smb2_find_smb_tcon(struct TCP_Server_Info *server, __u64 ses_id, __u32  tid)
        }
        tcon = smb2_find_smb_sess_tcon_unlocked(ses, tid);
        if (!tcon) {
-               cifs_put_smb_ses(ses);
                spin_unlock(&cifs_tcp_ses_lock);
+               cifs_put_smb_ses(ses);
                return NULL;
        }
        spin_unlock(&cifs_tcp_ses_lock);
--
2.45.1



--
Thanks,

Steve





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

  Powered by Linux