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 102/110] namei: make may_follow_link() safe in RCU mode
    Date
    From: Al Viro <viro@zeniv.linux.org.uk>

    We *can't* call that audit garbage in RCU mode - it's doing a weird
    mix of allocations (GFP_NOFS, immediately followed by GFP_KERNEL)
    and I'm not touching that... thing again.

    So if this security sclero^Whardening feature gets triggered when
    we are in RCU mode, tough - we'll fail with -ECHILD and have
    everything restarted in non-RCU mode. Only to hit the same test
    and fail, this time with EACCES and with (oh, rapture) an audit spew
    produced.

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

    diff --git a/fs/namei.c b/fs/namei.c
    index 998c3c2..20bf494 100644
    --- a/fs/namei.c
    +++ b/fs/namei.c
    @@ -794,6 +794,9 @@ static inline int may_follow_link(struct nameidata *nd)
    if (uid_eq(parent->i_uid, inode->i_uid))
    return 0;

    + if (nd->flags & LOOKUP_RCU)
    + return -ECHILD;
    +
    audit_log_link_denied("follow_link", &nd->stack[0].link);
    return -EACCES;
    }
    --
    2.1.4


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