Commit 14f66f44 authored by Shyam Prasad N's avatar Shyam Prasad N Committed by Steve French
Browse files

cifs: some missing initializations on replay



In several places in the code, we have a label to signify
the start of the code where a request can be replayed if
necessary. However, some of these places were missing the
necessary reinitializations of certain local variables
before replay.

This change makes sure that these variables get initialized
after the label.

Cc: stable@vger.kernel.org
Reported-by: default avatarYuchan Nam <entropy1110@gmail.com>
Tested-by: default avatarYuchan Nam <entropy1110@gmail.com>
Signed-off-by: default avatarShyam Prasad N <sprasad@microsoft.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent a5a50f14
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1185,6 +1185,7 @@ smb2_set_ea(const unsigned int xid, struct cifs_tcon *tcon,

replay_again:
	/* reinitialize for possible replay */
	used_len = 0;
	flags = CIFS_CP_CREATE_CLOSE_OP;
	oplock = SMB2_OPLOCK_LEVEL_NONE;
	server = cifs_pick_channel(ses);
@@ -1588,6 +1589,7 @@ smb2_ioctl_query_info(const unsigned int xid,

replay_again:
	/* reinitialize for possible replay */
	buffer = NULL;
	flags = CIFS_CP_CREATE_CLOSE_OP;
	oplock = SMB2_OPLOCK_LEVEL_NONE;
	server = cifs_pick_channel(ses);
+1 −0
Original line number Diff line number Diff line
@@ -2908,6 +2908,7 @@ int smb311_posix_mkdir(const unsigned int xid, struct inode *inode,

replay_again:
	/* reinitialize for possible replay */
	pc_buf = NULL;
	flags = 0;
	n_iov = 2;
	server = cifs_pick_channel(ses);