Commit c24bb1a8 authored by Paulo Alcantara's avatar Paulo Alcantara Committed by Steve French
Browse files

cifs: fix missing unload_nls() in smb2_reconnect()



Make sure to unload_nls() @nls_codepage if we no longer need it.

Fixes: bc962159 ("cifs: avoid race conditions with parallel reconnects")
Signed-off-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
Cc: Shyam Prasad N <sprasad@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent bc962159
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ smb2_reconnect(__le16 smb2_command, struct cifs_tcon *tcon,
	       struct TCP_Server_Info *server)
{
	int rc = 0;
	struct nls_table *nls_codepage;
	struct nls_table *nls_codepage = NULL;
	struct cifs_ses *ses;

	/*
@@ -220,8 +220,6 @@ smb2_reconnect(__le16 smb2_command, struct cifs_tcon *tcon,
		 tcon->ses->chans_need_reconnect,
		 tcon->need_reconnect);

	nls_codepage = load_nls_default();

	mutex_lock(&ses->session_mutex);
	/*
	 * Recheck after acquire mutex. If another thread is negotiating
@@ -241,6 +239,8 @@ smb2_reconnect(__le16 smb2_command, struct cifs_tcon *tcon,
	}
	spin_unlock(&server->srv_lock);

	nls_codepage = load_nls_default();

	/*
	 * need to prevent multiple threads trying to simultaneously
	 * reconnect the same SMB session