lkml.org 
[lkml]   [2012]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/34] vfs: do_last(): check LOOKUP_DIRECTORY
    Date
    From: Miklos Szeredi <mszeredi@suse.cz>

    Check for ENOTDIR before finishing open. This allows this code to be shared
    between O_CREAT and plain opens.

    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    ---
    fs/namei.c | 3 +++
    1 files changed, 3 insertions(+), 0 deletions(-)

    diff --git a/fs/namei.c b/fs/namei.c
    index 709e992..06ff96f 100644
    --- a/fs/namei.c
    +++ b/fs/namei.c
    @@ -2416,6 +2416,9 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
    error = -EISDIR;
    if (S_ISDIR(nd->inode->i_mode))
    goto exit;
    + error = -ENOTDIR;
    + if ((nd->flags & LOOKUP_DIRECTORY) && !nd->inode->i_op->lookup)
    + goto exit;
    ok:
    if (!S_ISREG(nd->inode->i_mode))
    will_truncate = 0;
    --
    1.7.7


    \
     
     \ /
      Last update: 2012-04-05 17:09    [W:0.020 / U:1.516 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site