|
@@ -1950,7 +1950,7 @@ static int path_lookupat(int dfd, const char *name,
|
|
|
err = path_init(dfd, name, flags | LOOKUP_PARENT, nd, &base);
|
|
err = path_init(dfd, name, flags | LOOKUP_PARENT, nd, &base);
|
|
|
|
|
|
|
|
if (unlikely(err))
|
|
if (unlikely(err))
|
|
|
- return err;
|
|
|
|
|
|
|
+ goto out;
|
|
|
|
|
|
|
|
current->total_link_count = 0;
|
|
current->total_link_count = 0;
|
|
|
err = link_path_walk(name, nd);
|
|
err = link_path_walk(name, nd);
|
|
@@ -1982,6 +1982,7 @@ static int path_lookupat(int dfd, const char *name,
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+out:
|
|
|
if (base)
|
|
if (base)
|
|
|
fput(base);
|
|
fput(base);
|
|
|
|
|
|
|
@@ -2301,7 +2302,7 @@ path_mountpoint(int dfd, const char *name, struct path *path, unsigned int flags
|
|
|
|
|
|
|
|
err = path_init(dfd, name, flags | LOOKUP_PARENT, &nd, &base);
|
|
err = path_init(dfd, name, flags | LOOKUP_PARENT, &nd, &base);
|
|
|
if (unlikely(err))
|
|
if (unlikely(err))
|
|
|
- return err;
|
|
|
|
|
|
|
+ goto out;
|
|
|
|
|
|
|
|
current->total_link_count = 0;
|
|
current->total_link_count = 0;
|
|
|
err = link_path_walk(name, &nd);
|
|
err = link_path_walk(name, &nd);
|