From: Jeff Layton Date: Tue, 7 Dec 2010 02:07:33 +0000 (-0500) Subject: cifs: fix check of error return from is_path_accessable X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=03ceace5c6923ffbcf2b4d2e37afbffbdb5d4a67;hp=884639996814585ef7079daa9e03a1eb562e235c;p=mv-sheeva.git cifs: fix check of error return from is_path_accessable This function will return 0 if everything went ok. Commit 9d002df4 however added a block of code after the following check for rc == -EREMOTE. With that change and when rc == 0, doing the "goto mount_fail_check" here skips that code, leaving the tlink_tree and master_tlink pointer unpopulated. That causes an oops later in cifs_root_iget. Reported-and-Tested-by: Robbert Kouprie Signed-off-by: Jeff Layton Signed-off-by: Steve French --- diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 53f9c31a52b..387b91ae740 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -2839,7 +2839,7 @@ remote_path_check: goto mount_fail_check; } rc = is_path_accessible(xid, tcon, cifs_sb, full_path); - if (rc != -EREMOTE) { + if (rc != 0 && rc != -EREMOTE) { kfree(full_path); goto mount_fail_check; }