summaryrefslogtreecommitdiffstats
path: root/fs/namei.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/namei.c')
-rw-r--r--fs/namei.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 105833e4e..0f25265ac 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1013,7 +1013,7 @@ do_last:
error = -ELOOP;
if (flag & O_NOFOLLOW)
goto exit_dput;
- do __follow_down(&nd->mnt,&dentry); while(d_mountpoint(dentry));
+ while (__follow_down(&nd->mnt,&dentry) && d_mountpoint(dentry));
}
error = -ENOENT;
if (!dentry->d_inode)
@@ -1927,13 +1927,11 @@ out:
* bloody create() on broken symlinks. Furrfu...
*/
name = __getname();
- if (IS_ERR(name))
- goto fail_name;
+ if (!name)
+ return -ENOMEM;
strcpy(name, nd->last.name);
nd->last.name = name;
return 0;
-fail_name:
- link = name;
fail:
path_release(nd);
return PTR_ERR(link);