Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4219b2da authored by Li Zefan's avatar Li Zefan Committed by Tejun Heo
Browse files

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: default avatarLi Zefan <lizefan@huawei.com>
Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 34c00c31
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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;