summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2025-10-06 20:12:34 +0200
committerPeter Zijlstra <peterz@infradead.org>2025-10-16 11:13:54 +0200
commit73ec89a1ce4bce98f74b6520a95e64cd9986aae5 (patch)
treee59b9b161f8de159328bd63f0edf76f6554728d9 /kernel
parentd4c64207b88a60dd15a38c790bb73c0b6f9a8c40 (diff)
sched: Mandate shared flags for sched_change
Shrikanth noted that sched_change pattern relies on using shared flags. Suggested-by: Shrikanth Hegde <sshegde@linux.ibm.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 3d5659f13624..e2199e4db0dc 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -10781,6 +10781,12 @@ struct sched_change_ctx *sched_change_begin(struct task_struct *p, unsigned int
struct sched_change_ctx *ctx = this_cpu_ptr(&sched_change_ctx);
struct rq *rq = task_rq(p);
+ /*
+ * Must exclusively use matched flags since this is both dequeue and
+ * enqueue.
+ */
+ WARN_ON_ONCE(flags & 0xFFFF0000);
+
lockdep_assert_rq_held(rq);
if (!(flags & DEQUEUE_NOCLOCK)) {