[CIFS] Fix build warning
authorSteve French <smfrench@gmail.com>
Thu, 27 Jun 2013 06:06:50 +0000 (01:06 -0500)
committerSteve French <smfrench@gmail.com>
Thu, 27 Jun 2013 06:06:50 +0000 (01:06 -0500)
Fix build warning in Shirish's recent SMB3 signing patch
which occurs when SMB2 support is disabled in Kconfig.

fs/built-in.o: In function `cifs_setup_session':
>> (.text+0xa1767): undefined reference to `generate_smb3signingkey'

Pointed out by: automated 0-DAY kernel build testing backend
Intel Open Source Technology Center

CC: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Steve French <smfrench@gmail.com>
fs/cifs/cifsglob.h
fs/cifs/cifsproto.h
fs/cifs/connect.c
fs/cifs/smb2ops.c
fs/cifs/smb2transport.c

index 2d0f524ebeee7484474e627e3b10494fb77c02a8..b0f077ebb5900ffc166df310f3beb756f9c8a3bf 100644 (file)
@@ -365,6 +365,8 @@ struct smb_version_operations {
        void (*set_lease_key)(struct inode *, struct cifs_fid *fid);
        /* generate new lease key */
        void (*new_lease_key)(struct cifs_fid *fid);
+       /* The next two functions will need to be changed to per smb session */
+       void (*generate_signingkey)(struct TCP_Server_Info *server);
        int (*calc_signature)(struct smb_rqst *rqst,
                                   struct TCP_Server_Info *server);
 };
index ff669e7c5857bf404768502b1633ea69d5ecf3e2..c8ff018fae6887640c277269c649feae49545ce2 100644 (file)
@@ -436,7 +436,7 @@ extern int setup_ntlmv2_rsp(struct cifs_ses *, const struct nls_table *);
 extern int cifs_crypto_shash_allocate(struct TCP_Server_Info *);
 extern void cifs_crypto_shash_release(struct TCP_Server_Info *);
 extern int calc_seckey(struct cifs_ses *);
-extern int generate_smb3signingkey(struct TCP_Server_Info *);
+extern void generate_smb3signingkey(struct TCP_Server_Info *);
 
 #ifdef CONFIG_CIFS_WEAK_PW_HASH
 extern int calc_lanman_hash(const char *password, const char *cryptkey,
index 354ea7782dba3d67b5eeca37841ebbdfe9ccc410..afcb8a1a33b7dcb273eba95331248a781b42e27a 100644 (file)
@@ -3841,7 +3841,8 @@ cifs_setup_session(const unsigned int xid, struct cifs_ses *ses,
                        server->sequence_number = 0x2;
                        server->session_estab = true;
                        ses->auth_key.response = NULL;
-                       generate_smb3signingkey(server);
+                       if (server->ops->generate_signingkey)
+                               server->ops->generate_signingkey(server);
                }
                mutex_unlock(&server->srv_mutex);
 
index ed399308dbc6253b1996c0acd41e75811e70f73c..48fe7c4dab7e0273af7bfd3acff50d3ad3fc3f90 100644 (file)
@@ -709,6 +709,7 @@ struct smb_version_operations smb30_operations = {
        .get_lease_key = smb2_get_lease_key,
        .set_lease_key = smb2_set_lease_key,
        .new_lease_key = smb2_new_lease_key,
+       .generate_signingkey = generate_smb3signingkey,
        .calc_signature = smb3_calc_signature,
 };
 
index 87563ee58d306942bf73ac50a2c596db6e8c423d..09b4fbaadeb6d5c9c79f835f6763b66028e4466d 100644 (file)
@@ -116,7 +116,7 @@ smb2_calc_signature(struct smb_rqst *rqst, struct TCP_Server_Info *server)
        return rc;
 }
 
-int
+void
 generate_smb3signingkey(struct TCP_Server_Info *server)
 {
        unsigned char zero = 0x0;
@@ -187,7 +187,7 @@ generate_smb3signingkey(struct TCP_Server_Info *server)
        memcpy(server->smb3signingkey, hashptr, SMB3_SIGNKEY_SIZE);
 
 smb3signkey_ret:
-       return rc;
+       return;
 }
 
 int