浏览代码

Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  update cifs version to 1.75
  [CIFS] possible memory corruption on mount
  cifs: demote cERROR in build_path_from_dentry to cFYI
Linus Torvalds 14 年之前
父节点
当前提交
01fa4ba52c
共有 3 个文件被更改,包括 5 次插入4 次删除
  1. 1 1
      fs/cifs/cifsfs.h
  2. 2 1
      fs/cifs/connect.c
  3. 2 2
      fs/cifs/dir.c

+ 1 - 1
fs/cifs/cifsfs.h

@@ -125,5 +125,5 @@ extern long cifs_ioctl(struct file *filep, unsigned int cmd, unsigned long arg);
 extern const struct export_operations cifs_export_ops;
 extern const struct export_operations cifs_export_ops;
 #endif /* CIFS_NFSD_EXPORT */
 #endif /* CIFS_NFSD_EXPORT */
 
 
-#define CIFS_VERSION   "1.74"
+#define CIFS_VERSION   "1.75"
 #endif				/* _CIFSFS_H */
 #endif				/* _CIFSFS_H */

+ 2 - 1
fs/cifs/connect.c

@@ -2878,7 +2878,8 @@ cleanup_volume_info_contents(struct smb_vol *volume_info)
 	kfree(volume_info->username);
 	kfree(volume_info->username);
 	kzfree(volume_info->password);
 	kzfree(volume_info->password);
 	kfree(volume_info->UNC);
 	kfree(volume_info->UNC);
-	kfree(volume_info->UNCip);
+	if (volume_info->UNCip != volume_info->UNC + 2)
+		kfree(volume_info->UNCip);
 	kfree(volume_info->domainname);
 	kfree(volume_info->domainname);
 	kfree(volume_info->iocharset);
 	kfree(volume_info->iocharset);
 	kfree(volume_info->prepath);
 	kfree(volume_info->prepath);

+ 2 - 2
fs/cifs/dir.c

@@ -105,8 +105,8 @@ cifs_bp_rename_retry:
 	}
 	}
 	rcu_read_unlock();
 	rcu_read_unlock();
 	if (namelen != dfsplen || read_seqretry(&rename_lock, seq)) {
 	if (namelen != dfsplen || read_seqretry(&rename_lock, seq)) {
-		cERROR(1, "did not end path lookup where expected namelen is %d",
-			namelen);
+		cFYI(1, "did not end path lookup where expected. namelen=%d "
+			"dfsplen=%d", namelen, dfsplen);
 		/* presumably this is only possible if racing with a rename
 		/* presumably this is only possible if racing with a rename
 		of one of the parent directories  (we can not lock the dentries
 		of one of the parent directories  (we can not lock the dentries
 		above us to prevent this, but retrying should be harmless) */
 		above us to prevent this, but retrying should be harmless) */