memcg: fail to create cgroup if the cgroup id is too big
memcg requires the cgroup id to be smaller than 65536. This is a preparation to kill css id. Signed-off-by: Li Zefan <lizefan@huawei.com> Acked-by: Michal Hocko <mhocko@suse.cz> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
34c00c319c
commit
4219b2da20
@ -488,6 +488,12 @@ static inline bool mem_cgroup_is_root(struct mem_cgroup *memcg)
|
||||
return (memcg == root_mem_cgroup);
|
||||
}
|
||||
|
||||
/*
|
||||
* We restrict the id in the range of [1, 65535], so it can fit into
|
||||
* an unsigned short.
|
||||
*/
|
||||
#define MEM_CGROUP_ID_MAX USHRT_MAX
|
||||
|
||||
static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg)
|
||||
{
|
||||
/*
|
||||
@ -6059,6 +6065,9 @@ mem_cgroup_css_online(struct cgroup_subsys_state *css)
|
||||
struct mem_cgroup *parent = mem_cgroup_from_css(css_parent(css));
|
||||
int error = 0;
|
||||
|
||||
if (css->cgroup->id > MEM_CGROUP_ID_MAX)
|
||||
return -ENOSPC;
|
||||
|
||||
if (!parent)
|
||||
return 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user