lkml.org 
[lkml]   [2007]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[AppArmor 37/47] Switch to vfs_permission() in do_path_lookup()
    Switch from file_permission() to vfs_permission() in do_path_lookup():
    this avoids calling permission() with a NULL nameidata here.

    Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
    Signed-off-by: John Johansen <jjohansen@suse.de>

    ---
    fs/namei.c | 9 +++------
    1 file changed, 3 insertions(+), 6 deletions(-)

    --- a/fs/namei.c
    +++ b/fs/namei.c
    @@ -1150,24 +1150,21 @@ static int fastcall do_path_lookup(int d
    path_get(&fs->pwd);
    read_unlock(&fs->lock);
    } else {
    - struct dentry *dentry;
    -
    file = fget_light(dfd, &fput_needed);
    retval = -EBADF;
    if (!file)
    goto out_fail;

    - dentry = file->f_path.dentry;
    + nd->path = file->f_path;

    retval = -ENOTDIR;
    - if (!S_ISDIR(dentry->d_inode->i_mode))
    + if (!S_ISDIR(nd->path.dentry->d_inode->i_mode))
    goto fput_fail;

    - retval = file_permission(file, MAY_EXEC);
    + retval = vfs_permission(nd, MAY_EXEC);
    if (retval)
    goto fput_fail;

    - nd->path = file->f_path;
    path_get(&file->f_path);

    fput_light(file, fput_needed);
    --



    \
     
     \ /
      Last update: 2007-12-20 15:36    [W:0.022 / U:30.492 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site