X-Git-Url: http://bbs.cooldavid.org/git/?a=blobdiff_plain;f=security%2Fapparmor%2Fpath.c;h=19358dc14605bae1422ae00226291751695ba44c;hb=44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e;hp=96bab9469d487fb8bc66c4724f14c51bf86b295a;hpb=baa0389073eb7beb9d36f6d13df97e16c1bfa626;p=net-next-2.6.git diff --git a/security/apparmor/path.c b/security/apparmor/path.c index 96bab9469d4..19358dc1460 100644 --- a/security/apparmor/path.c +++ b/security/apparmor/path.c @@ -62,19 +62,14 @@ static int d_namespace_path(struct path *path, char *buf, int buflen, int deleted, connected; int error = 0; - /* Get the root we want to resolve too */ + /* Get the root we want to resolve too, released below */ if (flags & PATH_CHROOT_REL) { /* resolve paths relative to chroot */ - read_lock(¤t->fs->lock); - root = current->fs->root; - /* released below */ - path_get(&root); - read_unlock(¤t->fs->lock); + get_fs_root(current->fs, &root); } else { /* resolve paths relative to namespace */ root.mnt = current->nsproxy->mnt_ns->root; root.dentry = root.mnt->mnt_root; - /* released below */ path_get(&root); }