[PATCH v2 19/21] mm: memcontrol: fix cannot alloc the maximum memcg ID

From: Muchun Song
Date: Thu May 27 2021 - 02:27:26 EST


The idr_alloc() does not include @max ID. So in the current implementation,
the maximum memcg ID is 65534 instead of 65535. It seems a bug. So fix this.

Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
---
mm/memcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index ae3ad1001824..a1c8ec858593 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5044,7 +5044,7 @@ static struct mem_cgroup *mem_cgroup_alloc(void)
return ERR_PTR(error);

memcg->id.id = idr_alloc(&mem_cgroup_idr, NULL,
- 1, MEM_CGROUP_ID_MAX,
+ 1, MEM_CGROUP_ID_MAX + 1,
GFP_KERNEL);
if (memcg->id.id < 0) {
error = memcg->id.id;
--
2.11.0