cifs: throw a warning if negotiate or sess_setup ops are passed NULL server or session pointers
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>
This commit is contained in:
Родитель
7d06645969
Коммит
3534b8508e
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче