re: fix encryption error checks on mount

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Steve French,

This is a semi-automatic email about new static checker warnings.

The patch 88627148400e: "fix encryption error checks on mount" from 
Sep 22, 2015, leads to the following Smatch complaint:

fs/cifs/smb2pdu.c:948 SMB2_tcon()
	 warn: variable dereferenced before check 'tcon' (see line 926)

fs/cifs/smb2pdu.c
   922          if (tcon && tcon->bad_network_name)
                    ^^^^
Old code assumes "tcon" can be NULL.

   923                  return -ENOENT;
   924  
   925		if ((tcon->seal) &&
                     ^^^^^^^^^^
Patch adds unchecked dereference.

   926		    ((ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION) == 0)) {
   927			cifs_dbg(VFS, "encryption requested but no server support");
   928			return -EOPNOTSUPP;
   929		}
   930	
   931		unc_path = kmalloc(MAX_SHARENAME_LENGTH * 2, GFP_KERNEL);
   932		if (unc_path == NULL)
   933			return -ENOMEM;
   934	
   935		unc_path_len = cifs_strtoUTF16(unc_path, tree, strlen(tree), cp) + 1;
   936		unc_path_len *= 2;
   937		if (unc_path_len < 2) {
   938			kfree(unc_path);
   939			return -EINVAL;
   940		}
   941	
   942		rc = small_smb2_init(SMB2_TREE_CONNECT, tcon, (void **) &req);
   943		if (rc) {
   944			kfree(unc_path);
   945			return rc;
   946		}
   947	
   948		if (tcon == NULL) {
                    ^^^^^^^^^^^^
Another check for NULL.

   949			/* since no tcon, smb2_init can not do this, so do here */
   950			req->hdr.SessionId = ses->Suid;

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux