[CIFS] Fix oops in cifs_readpages caused by not checking buf_type in an
authorSteve French <sfrench@us.ibm.com>
Wed, 18 Jan 2006 22:20:39 +0000 (14:20 -0800)
committerSteve French <sfrench@us.ibm.com>
Wed, 18 Jan 2006 22:20:39 +0000 (14:20 -0800)
error path of new cifs_readpages code.

Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/file.c

index 378095a442d0a5ba325ee7ac118b50d4f9fdebf6..77c990f0cb981706c55dcd936958c654d8f543e5 100644 (file)
@@ -1754,7 +1754,10 @@ static int cifs_readpages(struct file *file, struct address_space *mapping,
 
 /* need to free smb_read_data buf before exit */
        if (smb_read_data) {
-               cifs_buf_release(smb_read_data);
+               if(buf_type == CIFS_SMALL_BUFFER)
+                       cifs_small_buf_release(smb_read_data);
+               else if(buf_type == CIFS_LARGE_BUFFER)
+                       cifs_buf_release(smb_read_data);
                smb_read_data = NULL;
        }