lkml.org 
[lkml]   [2014]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.4 12/91] cgroup: reject cgroup names with ' '
    Date
    From: Alban Crequy <alban.crequy@collabora.co.uk>

    3.4.105-rc1 review patch. If anyone has any objections, please let me know.

    ------------------


    commit 71b1fb5c4473a5b1e601d41b109bdfe001ec82e0 upstream.

    /proc/<pid>/cgroup contains one cgroup path on each line. If cgroup names are
    allowed to contain "\n", applications cannot parse /proc/<pid>/cgroup safely.

    Signed-off-by: Alban Crequy <alban.crequy@collabora.co.uk>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    [lizf: Backported to 3.4:
    - adjust context
    - s/name/dentry->d_name.name/]
    Signed-off-by: Zefan Li <lizefan@huawei.com>
    ---
    kernel/cgroup.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/kernel/cgroup.c b/kernel/cgroup.c
    index 7c8f4f7..c776f89 100644
    --- a/kernel/cgroup.c
    +++ b/kernel/cgroup.c
    @@ -3838,6 +3838,11 @@ static int cgroup_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
    {
    struct cgroup *c_parent = dentry->d_parent->d_fsdata;

    + /* Do not accept '\n' to prevent making /proc/<pid>/cgroup unparsable.
    + */
    + if (strchr(dentry->d_name.name, '\n'))
    + return -EINVAL;
    +
    /* the vfs holds inode->i_mutex already */
    return cgroup_create(c_parent, dentry, mode | S_IFDIR);
    }
    --
    1.9.1


    \
     
     \ /
      Last update: 2014-11-27 11:02    [W:4.081 / U:0.156 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site