Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 93544cc6 authored by Steve French's avatar Steve French Committed by Linus Torvalds
Browse files

[PATCH] CIFS: fix cifs_user_read oops when null SMB response on forcedirectio mount



This patch fixes an oops reported by Adrian Bunk in cifs_user_read when a null
read response is returned on a forcedirectio mount.

Signed-off-by: default avatarDave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 10ee39fe
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -1442,13 +1442,15 @@ ssize_t cifs_user_read(struct file *file, char __user *read_data,
					 &bytes_read, &smb_read_data,
					 &buf_type);
			pSMBr = (struct smb_com_read_rsp *)smb_read_data;
			if (smb_read_data) {
				if (copy_to_user(current_offset,
					 smb_read_data + 4 /* RFC1001 hdr */
					 + le16_to_cpu(pSMBr->DataOffset), 
						smb_read_data +
						4 /* RFC1001 length field */ +
						le16_to_cpu(pSMBr->DataOffset),
						bytes_read)) {
					rc = -EFAULT;
				}
			if (smb_read_data) {

				if(buf_type == CIFS_SMALL_BUFFER)
					cifs_small_buf_release(smb_read_data);
				else if(buf_type == CIFS_LARGE_BUFFER)