|
@@ -94,18 +94,21 @@ static int d_namespace_path(struct path *path, char *buf, int buflen,
|
|
} else
|
|
} else
|
|
res = d_absolute_path(path, buf, buflen);
|
|
res = d_absolute_path(path, buf, buflen);
|
|
|
|
|
|
- *name = res;
|
|
|
|
/* handle error conditions - and still allow a partial path to
|
|
/* handle error conditions - and still allow a partial path to
|
|
* be returned.
|
|
* be returned.
|
|
*/
|
|
*/
|
|
if (IS_ERR(res)) {
|
|
if (IS_ERR(res)) {
|
|
- error = PTR_ERR(res);
|
|
|
|
- *name = buf;
|
|
|
|
- goto out;
|
|
|
|
- }
|
|
|
|
- if (!our_mnt(path->mnt))
|
|
|
|
|
|
+ res = dentry_path_raw(path->dentry, buf, buflen);
|
|
|
|
+ if (IS_ERR(res)) {
|
|
|
|
+ error = PTR_ERR(res);
|
|
|
|
+ *name = buf;
|
|
|
|
+ goto out;
|
|
|
|
+ };
|
|
|
|
+ } else if (!our_mnt(path->mnt))
|
|
connected = 0;
|
|
connected = 0;
|
|
|
|
|
|
|
|
+ *name = res;
|
|
|
|
+
|
|
ok:
|
|
ok:
|
|
/* Handle two cases:
|
|
/* Handle two cases:
|
|
* 1. A deleted dentry && profile is not allowing mediation of deleted
|
|
* 1. A deleted dentry && profile is not allowing mediation of deleted
|