aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-02-13 23:34:44 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-02-13 23:34:44 -0500
commitce5afed937f0a823d3b00c9459409c3f5f2fbd5d (patch)
treee2c488ad8a634812459fd733f87b673ccf1977d6 /fs
parentca81a62198e39ad9155f12725c269fcc2a9f1f8b (diff)
parentff4fa4a25a33f92b5653bb43add0c63bea98d464 (diff)
Merge git://git.samba.org/sfrench/cifs-2.6
* git://git.samba.org/sfrench/cifs-2.6: cifs: don't return error from standard_receive3 after marking response malformed cifs: request oplock when doing open on lookup cifs: fix error handling when cifscreds key payload is an error
Diffstat (limited to 'fs')
-rw-r--r--fs/cifs/connect.c9
-rw-r--r--fs/cifs/dir.c2
2 files changed, 6 insertions, 5 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 9c288653e6d6..602f77c304c9 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -773,10 +773,11 @@ standard_receive3(struct TCP_Server_Info *server, struct mid_q_entry *mid)
773 cifs_dump_mem("Bad SMB: ", buf, 773 cifs_dump_mem("Bad SMB: ", buf,
774 min_t(unsigned int, server->total_read, 48)); 774 min_t(unsigned int, server->total_read, 48));
775 775
776 if (mid) 776 if (!mid)
777 handle_mid(mid, server, smb_buffer, length); 777 return length;
778 778
779 return length; 779 handle_mid(mid, server, smb_buffer, length);
780 return 0;
780} 781}
781 782
782static int 783static int
@@ -2125,7 +2126,7 @@ cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)
2125 down_read(&key->sem); 2126 down_read(&key->sem);
2126 upayload = key->payload.data; 2127 upayload = key->payload.data;
2127 if (IS_ERR_OR_NULL(upayload)) { 2128 if (IS_ERR_OR_NULL(upayload)) {
2128 rc = PTR_ERR(key); 2129 rc = upayload ? PTR_ERR(upayload) : -EINVAL;
2129 goto out_key_put; 2130 goto out_key_put;
2130 } 2131 }
2131 2132
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index df8fecb5b993..63a196b97d50 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -492,7 +492,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
492{ 492{
493 int xid; 493 int xid;
494 int rc = 0; /* to get around spurious gcc warning, set to zero here */ 494 int rc = 0; /* to get around spurious gcc warning, set to zero here */
495 __u32 oplock = 0; 495 __u32 oplock = enable_oplocks ? REQ_OPLOCK : 0;
496 __u16 fileHandle = 0; 496 __u16 fileHandle = 0;
497 bool posix_open = false; 497 bool posix_open = false;
498 struct cifs_sb_info *cifs_sb; 498 struct cifs_sb_info *cifs_sb;