]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
SMB3: GUIDs should be constructed as random but valid uuids
authorSteve French <smfrench@gmail.com>
Thu, 22 Sep 2016 05:39:34 +0000 (00:39 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 23 Feb 2017 03:54:13 +0000 (03:54 +0000)
commit fa70b87cc6641978b20e12cc5d517e9ffc0086d4 upstream.

GUIDs although random, and 16 bytes, need to be generated as
proper uuids.

Signed-off-by: Steve French <steve.french@primarydata.com>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Reported-by: David Goebels <davidgoe@microsoft.com>
[bwh: Backported to 3.16: drop changes to create_durable_v2_buf()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
fs/cifs/cifsfs.c
fs/cifs/connect.c
fs/cifs/smb2ops.c

index 445e1b01191aa1cccefbc91d44a1a56369f2c87a..cfd2815f021c889262a5a813f60b217ee1eae000 100644 (file)
@@ -256,7 +256,7 @@ cifs_alloc_inode(struct super_block *sb)
        cifs_inode->createtime = 0;
        cifs_inode->epoch = 0;
 #ifdef CONFIG_CIFS_SMB2
-       get_random_bytes(cifs_inode->lease_key, SMB2_LEASE_KEY_SIZE);
+       generate_random_uuid(cifs_inode->lease_key);
 #endif
        /*
         * Can not set i_flags here - they get immediately overwritten to zero
index 3c393b9759d873a329b1077fc258b63af8174ade..4392296e6f3f63e7efd6f2382993a2996428f6ff 100644 (file)
@@ -2147,7 +2147,7 @@ cifs_get_tcp_session(struct smb_vol *volume_info)
        memcpy(&tcp_ses->dstaddr, &volume_info->dstaddr,
                sizeof(tcp_ses->dstaddr));
 #ifdef CONFIG_CIFS_SMB2
-       get_random_bytes(tcp_ses->client_guid, SMB2_CLIENT_GUID_SIZE);
+       generate_random_uuid(tcp_ses->client_guid);
 #endif
        /*
         * at this point we are the only ones with the pointer
index 1059ba8297743c5693f758121b56a2e2f4774197..394977d5466288e39d75b1bd62a628618ef2e929 100644 (file)
@@ -855,7 +855,7 @@ smb2_set_lease_key(struct inode *inode, struct cifs_fid *fid)
 static void
 smb2_new_lease_key(struct cifs_fid *fid)
 {
-       get_random_bytes(fid->lease_key, SMB2_LEASE_KEY_SIZE);
+       generate_random_uuid(fid->lease_key);
 }
 
 #define SMB2_SYMLINK_STRUCT_SIZE \