diff options
author | Steve French <sfrench@us.ibm.com> | 2006-01-18 17:20:39 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-01-18 17:20:39 -0500 |
commit | 47c886b3123a335f0622136e021e7691d60d742c (patch) | |
tree | f8fb888829092493333e1cd63389f7cff39fdecd /fs/cifs/file.c | |
parent | d65177c1ae7f085723154105c5dc8d9e16ae8265 (diff) |
[CIFS] Fix oops in cifs_readpages caused by not checking buf_type in an
error path of new cifs_readpages code.
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/file.c')
-rw-r--r-- | fs/cifs/file.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 378095a442d0..77c990f0cb98 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -1754,7 +1754,10 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, | |||
1754 | 1754 | ||
1755 | /* need to free smb_read_data buf before exit */ | 1755 | /* need to free smb_read_data buf before exit */ |
1756 | if (smb_read_data) { | 1756 | if (smb_read_data) { |
1757 | cifs_buf_release(smb_read_data); | 1757 | if(buf_type == CIFS_SMALL_BUFFER) |
1758 | cifs_small_buf_release(smb_read_data); | ||
1759 | else if(buf_type == CIFS_LARGE_BUFFER) | ||
1760 | cifs_buf_release(smb_read_data); | ||
1758 | smb_read_data = NULL; | 1761 | smb_read_data = NULL; |
1759 | } | 1762 | } |
1760 | 1763 | ||