[CIFS] Fix mem leak on dfs referral

Signed-off-by: Igor Mammedov <niallain@gmail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 7e4c244..bc673c8 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -211,7 +211,10 @@
 	if (rc) {
 		if (rc == -EREMOTE && !is_dfs_referral) {
 			is_dfs_referral = true;
-			full_path = search_path;
+			if (full_path != search_path) {
+				kfree(full_path);
+				full_path = search_path;
+			}
 			goto try_again_CIFSSMBUnixQPathInfo;
 		}
 		goto cgiiu_exit;
@@ -422,7 +425,10 @@
 	if (rc) {
 		if (rc == -EREMOTE && !is_dfs_referral) {
 			is_dfs_referral = true;
-			full_path = search_path;
+			if (full_path != search_path) {
+				kfree(full_path);
+				full_path = search_path;
+			}
 			goto try_again_CIFSSMBQPathInfo;
 		}
 		goto cgii_exit;