FAILED: patch "[PATCH] sched_ext: Remove redundant css_put() in scx_cgroup_init()" failed to apply to 6.12-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 1336b579f6079fb8520be03624fcd9ba443c930b
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026031630-character-subsector-36b1@gregkh' --subject-prefix 'PATCH 6.12.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1336b579f6079fb8520be03624fcd9ba443c930b Mon Sep 17 00:00:00 2001
From: Cheng-Yang Chou <[email protected]>
Date: Tue, 3 Mar 2026 22:35:30 +0800
Subject: [PATCH] sched_ext: Remove redundant css_put() in scx_cgroup_init()
The iterator css_for_each_descendant_pre() walks the cgroup hierarchy under cgroup_lock(). It does not increment the reference counts on yielded css structs.
According to the cgroup documentation, css_put() should only be used to release a reference obtained via css_get() or css_tryget_online(). Since the iterator does not use either of these to acquire a reference, calling css_put() in the error path of scx_cgroup_init() causes a refcount underflow.
Remove the unbalanced css_put() to prevent a potential Use-After-Free (UAF) vulnerability.
kernel/sched/ext.c +0 -1
@@ -3589,7 +3589,6 @@ static int scx_cgroup_init(struct scx_sched *sch) ret =SCX_CALL_OP_RET (sch,SCX_KF_UNLOCKED , cgroup_init,NULL , css->cgroup, &args);if (ret) { -css_put (css);scx_error (sch,"ops.cgroup_init() failed (%d)" , ret);return ret; }
PATCH 1/1 sched_ext: Remove redundant css_put() in scx_cgroup_init()
The iterator css_for_each_descendant_pre() walks the cgroup hierarchy under cgroup_lock(). It does not increment the reference counts on yielded css structs.
According to the cgroup documentation, css_put() should only be used to release a reference obtained via css_get() or css_tryget_online(). Since the iterator does not use either of these to acquire a reference, calling css_put() in the error path of scx_cgroup_init() causes a refcount underflow.
Remove the unbalanced css_put() to prevent a potential Use-After-Free (UAF) vulnerability.
--- kernel/sched/ext.c | 1 - 1 file changed, 1 deletion(-)
kernel/sched/ext.c +0 -1
@@ -4319,7 +4319,6 @@ static int scx_cgroup_init(void) ret =SCX_CALL_OP_RET (SCX_KF_UNLOCKED , cgroup_init, css->cgroup, &args);if (ret) { -css_put (css);scx_ops_error ("ops.cgroup_init() failed (%d)" , ret);return ret; }
Signature · 1 line
2.48.1