lkml.org 
[lkml]   [2012]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/7] AppArmor: Retrieve the dentry_path for error reporting when path lookup fails
    Date
    When __d_path and d_absolute_path fail due to the name being outside of
    the current namespace no name is reported. Use dentry_path to provide
    some hint as to which file was being accessed.

    Signed-off-by: John Johansen <john.johansen@canonical.com>
    Acked-by: Kees Cook <kees@ubuntu.com>
    ---
    security/apparmor/path.c | 15 +++++++++------
    1 files changed, 9 insertions(+), 6 deletions(-)

    diff --git a/security/apparmor/path.c b/security/apparmor/path.c
    index c31ce83..b3cf4cd 100644
    --- a/security/apparmor/path.c
    +++ b/security/apparmor/path.c
    @@ -94,18 +94,21 @@ static int d_namespace_path(struct path *path, char *buf, int buflen,
    } else
    res = d_absolute_path(path, buf, buflen);

    - *name = res;
    /* handle error conditions - and still allow a partial path to
    * be returned.
    */
    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;

    + *name = res;
    +
    ok:
    /* Handle two cases:
    * 1. A deleted dentry && profile is not allowing mediation of deleted
    --
    1.7.9


    \
     
     \ /
      Last update: 2012-02-27 23:25    [W:0.020 / U:0.472 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site