All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shakeel Butt <shakeel.butt@linux.dev>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>,
	Michal Hocko <mhocko@kernel.org>,
	Roman Gushchin <roman.gushchin@linux.dev>,
	Muchun Song <muchun.song@linux.dev>,
	SeongJae Park <sj@kernel.org>,
	Meta kernel team <kernel-team@meta.com>,
	linux-mm@kvack.org, cgroups@vger.kernel.org,
	damon@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: [PATCH 3/8] memcg: mem_cgroup_get_from_ino() returns NULL on error
Date: Thu, 25 Dec 2025 15:21:11 -0800	[thread overview]
Message-ID: <20251225232116.294540-4-shakeel.butt@linux.dev> (raw)
In-Reply-To: <20251225232116.294540-1-shakeel.butt@linux.dev>

Change mem_cgroup_get_from_ino() to return NULL on error instead of
ERR_PTR values. This simplifies the API: NULL indicates failure, and a
valid pointer indicates success with a CSS reference held that the
caller must release via mem_cgroup_put().

Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
---
 mm/memcontrol.c     | 6 ++----
 mm/shrinker_debug.c | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index e85816960e38..92beb74482fa 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -3624,17 +3624,15 @@ struct mem_cgroup *mem_cgroup_get_from_ino(unsigned long ino)
 {
 	struct cgroup *cgrp;
 	struct cgroup_subsys_state *css;
-	struct mem_cgroup *memcg;
+	struct mem_cgroup *memcg = NULL;
 
 	cgrp = cgroup_get_from_id(ino);
 	if (IS_ERR(cgrp))
-		return ERR_CAST(cgrp);
+		return NULL;
 
 	css = cgroup_get_e_css(cgrp, &memory_cgrp_subsys);
 	if (css)
 		memcg = container_of(css, struct mem_cgroup, css);
-	else
-		memcg = ERR_PTR(-ENOENT);
 
 	cgroup_put(cgrp);
 
diff --git a/mm/shrinker_debug.c b/mm/shrinker_debug.c
index 20eaee3e97f7..8aaeb8f5c3af 100644
--- a/mm/shrinker_debug.c
+++ b/mm/shrinker_debug.c
@@ -130,7 +130,7 @@ static ssize_t shrinker_debugfs_scan_write(struct file *file,
 
 	if (shrinker->flags & SHRINKER_MEMCG_AWARE) {
 		memcg = mem_cgroup_get_from_ino(ino);
-		if (!memcg || IS_ERR(memcg))
+		if (!memcg)
 			return -ENOENT;
 
 		if (!mem_cgroup_online(memcg)) {
-- 
2.47.3


  parent reply	other threads:[~2025-12-25 23:21 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-25 23:21 [PATCH 0/8] memcg: separate private and public ID namespaces Shakeel Butt
2025-12-25 23:21 ` [PATCH 1/8] memcg: introduce private id API for in-kernel users Shakeel Butt
2025-12-25 23:21 ` [PATCH 2/8] memcg: expose mem_cgroup_ino() and mem_cgroup_get_from_ino() unconditionally Shakeel Butt
2025-12-25 23:21 ` Shakeel Butt [this message]
2025-12-25 23:21 ` [PATCH 4/8] memcg: use cgroup_id() instead of cgroup_ino() for memcg ID Shakeel Butt
2025-12-25 23:21 ` [PATCH 5/8] mm/damon: use cgroup ID instead of private " Shakeel Butt
2025-12-26 18:23   ` SeongJae Park
2025-12-25 23:21 ` [PATCH 6/8] mm/vmscan: use cgroup ID instead of private memcg ID in lru_gen interface Shakeel Butt
2025-12-25 23:21 ` [PATCH 7/8] memcg: remove unused mem_cgroup_id() and mem_cgroup_from_id() Shakeel Butt
2025-12-25 23:21 ` [PATCH 8/8] memcg: rename mem_cgroup_ino() to mem_cgroup_id() Shakeel Butt
2025-12-26 12:31   ` kernel test robot
2025-12-27 22:12     ` SeongJae Park
2026-01-08  5:02       ` SeongJae Park
2025-12-26 13:23   ` kernel test robot
2026-01-08  4:59   ` SeongJae Park
2026-01-12 21:36     ` Shakeel Butt
2025-12-26 18:17 ` [PATCH 0/8] memcg: separate private and public ID namespaces SeongJae Park
2026-01-06 10:25 ` Michal Hocko
2026-01-06 18:50   ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251225232116.294540-4-shakeel.butt@linux.dev \
    --to=shakeel.butt@linux.dev \
    --cc=akpm@linux-foundation.org \
    --cc=cgroups@vger.kernel.org \
    --cc=damon@lists.linux.dev \
    --cc=hannes@cmpxchg.org \
    --cc=kernel-team@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=muchun.song@linux.dev \
    --cc=roman.gushchin@linux.dev \
    --cc=sj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.