cifs: throw a warning if negotiate or sess_setup ops are passed NULL server or sessio...
authorJeff Layton <jlayton@redhat.com>
Fri, 24 May 2013 11:41:01 +0000 (07:41 -0400)
committerSteve French <smfrench@gmail.com>
Mon, 24 Jun 2013 06:56:40 +0000 (01:56 -0500)
These look pretty cargo-culty to me, but let's be certain. Leave
them in place for now. Pop a WARN if it ever does happen. Also,
move to a more standard idiom for setting the "server" pointer.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifssmb.c
fs/cifs/sess.c
fs/cifs/smb2pdu.c

index a58dc77..c1c2006 100644 (file)
@@ -375,16 +375,15 @@ CIFSSMBNegotiate(const unsigned int xid, struct cifs_ses *ses)
        int rc = 0;
        int bytes_returned;
        int i;
-       struct TCP_Server_Info *server;
+       struct TCP_Server_Info *server = ses->server;
        u16 count;
        unsigned int secFlags;
 
-       if (ses->server)
-               server = ses->server;
-       else {
-               rc = -EIO;
-               return rc;
+       if (!server) {
+               WARN(1, "%s: server is NULL!\n", __func__);
+               return -EIO;
        }
+
        rc = smb_init(SMB_COM_NEGOTIATE, 0, NULL /* no tcon yet */ ,
                      (void **) &pSMB, (void **) &pSMBr);
        if (rc)
index 838e224..e8c5dc9 100644 (file)
@@ -576,8 +576,10 @@ CIFS_SessSetup(const unsigned int xid, struct cifs_ses *ses,
        u16 blob_len;
        char *ntlmsspblob = NULL;
 
-       if (ses == NULL)
+       if (ses == NULL) {
+               WARN(1, "%s: ses == NULL!", __func__);
                return -EINVAL;
+       }
 
        type = ses->server->secType;
        cifs_dbg(FYI, "sess setup type %d\n", type);
index 2b95ce2..3af66aa 100644 (file)
@@ -328,7 +328,7 @@ SMB2_negotiate(const unsigned int xid, struct cifs_ses *ses)
        struct kvec iov[1];
        int rc = 0;
        int resp_buftype;
-       struct TCP_Server_Info *server;
+       struct TCP_Server_Info *server = ses->server;
        unsigned int sec_flags;
        u16 temp = 0;
        int blob_offset, blob_length;
@@ -337,11 +337,9 @@ SMB2_negotiate(const unsigned int xid, struct cifs_ses *ses)
 
        cifs_dbg(FYI, "Negotiate protocol\n");
 
-       if (ses->server)
-               server = ses->server;
-       else {
-               rc = -EIO;
-               return rc;
+       if (!server) {
+               WARN(1, "%s: server is NULL!\n", __func__);
+               return -EIO;
        }
 
        rc = small_smb2_init(SMB2_NEGOTIATE, NULL, (void **) &req);
@@ -480,7 +478,7 @@ SMB2_sess_setup(const unsigned int xid, struct cifs_ses *ses,
        int rc = 0;
        int resp_buftype;
        __le32 phase = NtLmNegotiate; /* NTLMSSP, if needed, is multistage */
-       struct TCP_Server_Info *server;
+       struct TCP_Server_Info *server = ses->server;
        unsigned int sec_flags;
        u8 temp = 0;
        u16 blob_length = 0;
@@ -490,11 +488,9 @@ SMB2_sess_setup(const unsigned int xid, struct cifs_ses *ses,
 
        cifs_dbg(FYI, "Session Setup\n");
 
-       if (ses->server)
-               server = ses->server;
-       else {
-               rc = -EIO;
-               return rc;
+       if (!server) {
+               WARN(1, "%s: server is NULL!\n", __func__);
+               return -EIO;
        }
 
        /*