lkml.org 
[lkml]   [2015]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 063/110] namei: we never need more than MAXSYMLINKS entries in nd->stack
    Date
    From: Al Viro <viro@zeniv.linux.org.uk>

    The only reason why we needed one more was that purely nested
    MAXSYMLINKS symlinks could lead to path_init() using that many
    entries in addition to nd->stack[0] which it left unused.

    That can't happen now - path_init() starts with entry 0 (and
    trailing_symlink() is called only when we'd already encountered
    one symlink, so no more than MAXSYMLINKS-1 are left).

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    ---
    fs/namei.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/fs/namei.c b/fs/namei.c
    index d12b16c..b939f48 100644
    --- a/fs/namei.c
    +++ b/fs/namei.c
    @@ -528,7 +528,7 @@ static void restore_nameidata(struct nameidata *nd)

    static int __nd_alloc_stack(struct nameidata *nd)
    {
    - struct saved *p = kmalloc((MAXSYMLINKS + 1) * sizeof(struct saved),
    + struct saved *p = kmalloc(MAXSYMLINKS * sizeof(struct saved),
    GFP_KERNEL);
    if (unlikely(!p))
    return -ENOMEM;
    --
    2.1.4


    \
     
     \ /
      Last update: 2015-05-11 21:01    [W:4.095 / U:0.600 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site