Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: "Qi Zheng" <zhengqi.arch@bytedance.com>,
	"Muchun Song" <songmuchun@bytedance.com>,
	"Christian Brauner" <brauner@kernel.org>,
	"Christian König" <christian.koenig@amd.com>,
	"Chuck Lever" <cel@kernel.org>, "Daniel Vetter" <daniel@ffwll.ch>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"Darrick J. Wong" <djwong@kernel.org>,
	"Dave Chinner" <david@fromorbit.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Joel Fernandes" <joel@joelfernandes.org>,
	"Kirill Tkhai" <tkhai@ya.ru>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	"Roman Gushchin" <roman.gushchin@linux.dev>,
	"Sergey Senozhatsky" <senozhatsky@chromium.org>,
	"Steven Price" <steven.price@arm.com>,
	"Theodore Ts'o" <tytso@mit.edu>,
	"Vlastimil Babka" <vbabka@suse.cz>,
	"Abhinav Kumar" <quic_abhinavk@quicinc.com>,
	"Alasdair Kergon" <agk@redhat.com>,
	"Alexander Viro" <viro@zeniv.linux.org.uk>,
	"Alyssa Rosenzweig" <alyssa.rosenzweig@collabora.com>,
	"Andreas Dilger" <adilger.kernel@dilger.ca>,
	"Andreas Gruenbacher" <agruenba@redhat.com>,
	"Anna Schumaker" <anna@kernel.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Bob Peterson" <rpeterso@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Carlos Llamas" <cmllamas@google.com>,
	"Chandan Babu R" <chandan.babu@oracle.com>,
	"Chao Yu" <chao@kernel.org>, "Chris Mason" <clm@fb.com>,
	"Coly Li" <colyli@suse.de>, "Dai Ngo" <Dai.Ngo@oracle.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"David Airlie" <airlied@gmail.com>,
	"David Hildenbrand" <david@redhat.com>,
	"David Sterba" <dsterba@suse.com>,
	"Dmitry Baryshkov" <dmitry.baryshkov@linaro.org>,
	"Gao Xiang" <hsiangkao@linux.alibaba.com>,
	"Huang Rui" <ray.huang@amd.com>, "Ingo Molnar" <mingo@redhat.com>,
	"Jaegeuk Kim" <jaegeuk@kernel.org>,
	"Jani Nikula" <jani.nikula@linux.intel.com>,
	"Jan Kara" <jack@suse.cz>, "Jason Wang" <jasowang@redhat.com>,
	"Jeff Layton" <jlayton@kernel.org>,
	"Jeffle Xu" <jefflexu@linux.alibaba.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Josef Bacik" <josef@toxicpanda.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Kent Overstreet" <kent.overstreet@gmail.com>,
	"Marijn Suijten" <marijn.suijten@somainline.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Mike Snitzer" <snitzer@kernel.org>,
	"Minchan Kim" <minchan@kernel.org>,
	"Muchun Song" <muchun.song@linux.dev>,
	"Nadav Amit" <namit@vmware.com>, "Neil Brown" <neilb@suse.de>,
	"Oleksandr Tyshchenko" <oleksandr_tyshchenko@epam.com>,
	"Olga Kornievskaia" <kolga@netapp.com>,
	"Richard Weinberger" <richard@nod.at>,
	"Rob Clark" <robdclark@gmail.com>,
	"Rob Herring" <robh@kernel.org>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Sean Paul" <sean@poorly.run>, "Song Liu" <song@kernel.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Tomeu Vizoso" <tomeu.vizoso@collabora.com>,
	"Tom Talpey" <tom@talpey.com>,
	"Trond Myklebust" <trond.myklebust@hammerspace.com>,
	"Tvrtko Ursulin" <tvrtko.ursulin@linux.intel.com>,
	"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
	"Yue Hu" <huyue2@coolpad.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Sasha Levin" <sashal@kernel.org>
Subject: [PATCH 6.6.y 1/2] mm: shrinker: remove redundant shrinker_rwsem in debugfs operations
Date: Wed, 15 Jul 2026 07:40:36 -0400	[thread overview]
Message-ID: <20260715114037.728053-1-sashal@kernel.org> (raw)
In-Reply-To: <2026071317-sandfish-tulip-2010@gregkh>

From: Qi Zheng <zhengqi.arch@bytedance.com>

[ Upstream commit 1dd49e58f966b1eecd935dc28458a8369ae94ad1 ]

debugfs_remove_recursive() will wait for debugfs_file_put() to return, so
the shrinker will not be freed when doing debugfs operations (such as
shrinker_debugfs_count_show() and shrinker_debugfs_scan_write()), so there
is no need to hold shrinker_rwsem during debugfs operations.

Link: https://lkml.kernel.org/r/20230911092517.64141-4-zhengqi.arch@bytedance.com
Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Christian König <christian.koenig@amd.com>
Cc: Chuck Lever <cel@kernel.org>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Darrick J. Wong <djwong@kernel.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Joel Fernandes <joel@joelfernandes.org>
Cc: Kirill Tkhai <tkhai@ya.ru>
Cc: Paul E. McKenney <paulmck@kernel.org>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Steven Price <steven.price@arm.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Abhinav Kumar <quic_abhinavk@quicinc.com>
Cc: Alasdair Kergon <agk@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Bob Peterson <rpeterso@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Carlos Llamas <cmllamas@google.com>
Cc: Chandan Babu R <chandan.babu@oracle.com>
Cc: Chao Yu <chao@kernel.org>
Cc: Chris Mason <clm@fb.com>
Cc: Coly Li <colyli@suse.de>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: David Airlie <airlied@gmail.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Sterba <dsterba@suse.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Gao Xiang <hsiangkao@linux.alibaba.com>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: Jeffle Xu <jefflexu@linux.alibaba.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Josef Bacik <josef@toxicpanda.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Cc: Marijn Suijten <marijn.suijten@somainline.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Mike Snitzer <snitzer@kernel.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Nadav Amit <namit@vmware.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Olga Kornievskaia <kolga@netapp.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Song Liu <song@kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Cc: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Cc: Yue Hu <huyue2@coolpad.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stable-dep-of: b902890c62d2 ("mm/shrinker: do not hold RCU lock in shrinker_debugfs_count_show()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 mm/shrinker_debug.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/mm/shrinker_debug.c b/mm/shrinker_debug.c
index 3ab53fad8876ea..61702bdc1af48d 100644
--- a/mm/shrinker_debug.c
+++ b/mm/shrinker_debug.c
@@ -49,17 +49,12 @@ static int shrinker_debugfs_count_show(struct seq_file *m, void *v)
 	struct mem_cgroup *memcg;
 	unsigned long total;
 	bool memcg_aware;
-	int ret, nid;
+	int ret = 0, nid;
 
 	count_per_node = kcalloc(nr_node_ids, sizeof(unsigned long), GFP_KERNEL);
 	if (!count_per_node)
 		return -ENOMEM;
 
-	ret = down_read_killable(&shrinker_rwsem);
-	if (ret) {
-		kfree(count_per_node);
-		return ret;
-	}
 	rcu_read_lock();
 
 	memcg_aware = shrinker->flags & SHRINKER_MEMCG_AWARE;
@@ -92,7 +87,6 @@ static int shrinker_debugfs_count_show(struct seq_file *m, void *v)
 	} while ((memcg = mem_cgroup_iter(NULL, memcg, NULL)) != NULL);
 
 	rcu_read_unlock();
-	up_read(&shrinker_rwsem);
 
 	kfree(count_per_node);
 	return ret;
@@ -117,7 +111,6 @@ static ssize_t shrinker_debugfs_scan_write(struct file *file,
 	struct mem_cgroup *memcg = NULL;
 	int nid;
 	char kbuf[72];
-	ssize_t ret;
 
 	read_len = size < (sizeof(kbuf) - 1) ? size : (sizeof(kbuf) - 1);
 	if (copy_from_user(kbuf, buf, read_len))
@@ -146,12 +139,6 @@ static ssize_t shrinker_debugfs_scan_write(struct file *file,
 		return -EINVAL;
 	}
 
-	ret = down_read_killable(&shrinker_rwsem);
-	if (ret) {
-		mem_cgroup_put(memcg);
-		return ret;
-	}
-
 	sc.nid = nid;
 	sc.memcg = memcg;
 	sc.nr_to_scan = nr_to_scan;
@@ -159,7 +146,6 @@ static ssize_t shrinker_debugfs_scan_write(struct file *file,
 
 	shrinker->scan_objects(shrinker, &sc);
 
-	up_read(&shrinker_rwsem);
 	mem_cgroup_put(memcg);
 
 	return size;
-- 
2.53.0


  reply	other threads:[~2026-07-15 11:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-13 13:42 FAILED: patch "[PATCH] mm/shrinker: do not hold RCU lock in" failed to apply to 6.6-stable tree gregkh
2026-07-15 11:40 ` Sasha Levin [this message]
2026-07-15 11:40   ` [PATCH 6.6.y 2/2] mm/shrinker: do not hold RCU lock in shrinker_debugfs_count_show() Sasha Levin

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=20260715114037.728053-1-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=Dai.Ngo@oracle.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=agk@redhat.com \
    --cc=agruenba@redhat.com \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alyssa.rosenzweig@collabora.com \
    --cc=anna@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=brauner@kernel.org \
    --cc=cel@kernel.org \
    --cc=chandan.babu@oracle.com \
    --cc=chao@kernel.org \
    --cc=christian.koenig@amd.com \
    --cc=clm@fb.com \
    --cc=cmllamas@google.com \
    --cc=colyli@suse.de \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel@ffwll.ch \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@fromorbit.com \
    --cc=david@redhat.com \
    --cc=djwong@kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dsterba@suse.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hsiangkao@linux.alibaba.com \
    --cc=huyue2@coolpad.com \
    --cc=jack@suse.cz \
    --cc=jaegeuk@kernel.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=jasowang@redhat.com \
    --cc=jefflexu@linux.alibaba.com \
    --cc=jgross@suse.com \
    --cc=jlayton@kernel.org \
    --cc=joel@joelfernandes.org \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=josef@toxicpanda.com \
    --cc=kent.overstreet@gmail.com \
    --cc=kolga@netapp.com \
    --cc=marijn.suijten@somainline.org \
    --cc=minchan@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mst@redhat.com \
    --cc=muchun.song@linux.dev \
    --cc=namit@vmware.com \
    --cc=neilb@suse.de \
    --cc=oleksandr_tyshchenko@epam.com \
    --cc=paulmck@kernel.org \
    --cc=quic_abhinavk@quicinc.com \
    --cc=ray.huang@amd.com \
    --cc=richard@nod.at \
    --cc=robdclark@gmail.com \
    --cc=robh@kernel.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=roman.gushchin@linux.dev \
    --cc=rpeterso@redhat.com \
    --cc=sean@poorly.run \
    --cc=senozhatsky@chromium.org \
    --cc=snitzer@kernel.org \
    --cc=song@kernel.org \
    --cc=songmuchun@bytedance.com \
    --cc=sstabellini@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=steven.price@arm.com \
    --cc=tglx@linutronix.de \
    --cc=tkhai@ya.ru \
    --cc=tom@talpey.com \
    --cc=tomeu.vizoso@collabora.com \
    --cc=trond.myklebust@hammerspace.com \
    --cc=tvrtko.ursulin@linux.intel.com \
    --cc=tytso@mit.edu \
    --cc=vbabka@suse.cz \
    --cc=viro@zeniv.linux.org.uk \
    --cc=xuanzhuo@linux.alibaba.com \
    --cc=zhengqi.arch@bytedance.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox