• Qian Cai's avatar
    cgroup: fix psi_show() crash on 32bit ino archs · 190ecb19
    Qian Cai authored
    Similar to the commit d7495343 ("cgroup: fix incorrect
    WARN_ON_ONCE() in cgroup_setup_root()"), cgroup_id(root_cgrp) does not
    equal to 1 on 32bit ino archs which triggers all sorts of issues with
    psi_show() on s390x. For example,
    
     BUG: KASAN: slab-out-of-bounds in collect_percpu_times+0x2d0/
     Read of size 4 at addr 000000001e0ce000 by task read_all/3667
     collect_percpu_times+0x2d0/0x798
     psi_show+0x7c/0x2a8
     seq_read+0x2ac/0x830
     vfs_read+0x92/0x150
     ksys_read+0xe2/0x188
     system_call+0xd8/0x2b4
    
    Fix it by using cgroup_ino().
    
    Fixes: 74321038 ("cgroup: use cgrp->kn->id as the cgroup ID")
    Signed-off-by: default avatarQian Cai <cai@lca.pw>
    Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: stable@vger.kernel.org # v5.5
    190ecb19
cgroup.c 167 KB