diff options
author | John Johansen <john.johansen@canonical.com> | 2014-07-25 15:02:08 +0400 |
---|---|---|
committer | John Johansen <john.johansen@canonical.com> | 2016-07-12 18:43:10 +0300 |
commit | f2e561d190da7ff5ee265fa460e2d7f753dddfda (patch) | |
tree | ae92875ebc201cfbdcde9177d6d63eabeb937c09 | |
parent | d671e890205a663429da74e1972e652bea4d73ab (diff) | |
download | linux-f2e561d190da7ff5ee265fa460e2d7f753dddfda.tar.xz |
apparmor: fix disconnected bind mnts reconnection
Bind mounts can fail to be properly reconnected when PATH_CONNECT is
specified. Ensure that when PATH_CONNECT is specified the path has
a root.
BugLink: http://bugs.launchpad.net/bugs/1319984
Signed-off-by: John Johansen <john.johansen@canonical.com>
Acked-by: Seth Arnold <seth.arnold@canonical.com>
-rw-r--r-- | security/apparmor/path.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/security/apparmor/path.c b/security/apparmor/path.c index edddc026406b..f2616780065a 100644 --- a/security/apparmor/path.c +++ b/security/apparmor/path.c @@ -141,7 +141,10 @@ static int d_namespace_path(const struct path *path, char *buf, int buflen, error = -EACCES; if (*res == '/') *name = res + 1; - } + } else if (*res != '/') + /* CONNECT_PATH with missing root */ + error = prepend(name, *name - buf, "/", 1); + } out: |