• Alexander Kuznetsov's avatar
    cgroup1: don't allow '\n' in renaming · b7e24eb1
    Alexander Kuznetsov authored
    cgroup_mkdir() have restriction on newline usage in names:
    $ mkdir $'/sys/fs/cgroup/cpu/test\ntest2'
    mkdir: cannot create directory
    '/sys/fs/cgroup/cpu/test\ntest2': Invalid argument
    
    But in cgroup1_rename() such check is missed.
    This allows us to make /proc/<pid>/cgroup unparsable:
    $ mkdir /sys/fs/cgroup/cpu/test
    $ mv /sys/fs/cgroup/cpu/test $'/sys/fs/cgroup/cpu/test\ntest2'
    $ echo $$ > $'/sys/fs/cgroup/cpu/test\ntest2'
    $ cat /proc/self/cgroup
    11:pids:/
    10:freezer:/
    9:hugetlb:/
    8:cpuset:/
    7:blkio:/user.slice
    6:memory:/user.slice
    5:net_cls,net_prio:/
    4:perf_event:/
    3:devices:/user.slice
    2:cpu,cpuacct:/test
    test2
    1:name=systemd:/
    0::/
    Signed-off-by: default avatarAlexander Kuznetsov <wwfq@yandex-team.ru>
    Reported-by: default avatarAndrey Krasichkov <buglloc@yandex-team.ru>
    Acked-by: default avatarDmitry Yakunin <zeil@yandex-team.ru>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    b7e24eb1
cgroup-v1.c 33.3 KB