[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260129160527.238267-1-pauld@redhat.com>
Date: Thu, 29 Jan 2026 11:05:27 -0500
From: Phil Auld <pauld@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Ingo Molnar <mingo@...hat.com>,
Gabriele Monaco <gmonaco@...hat.com>
Subject: [PATCH] sched: Fix tracepoint called from set_tsk_need_resched() more
This raw tracepoint is added to set_tsk_need_resched() which introduces
two symbols which were then exported GPL-only. While generally better
to add new symbols GPL-only, set_tsk_need_resched() is called from places
that are exported without that restriction. This includes things like
wake_up_process(). Export these new symbols without the added restriction.
Fixes: 8d737320166b ("sched: Fix build for modules using set_tsk_need_resched()")
Fixes: 6c125b85f3c8 ("sched: Export hidden tracepoints to modules")
Fixes: adcc3bfa8806 ("sched: Adapt sched tracepoints for RV task model")
Signed-off-by: Phil Auld <pauld@...hat.com>
---
This is against tip:sched/core (377521af0341).
kernel/sched/core.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index c5431afe23b0..2871369c05fa 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -121,7 +121,8 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(sched_update_nr_running_tp);
EXPORT_TRACEPOINT_SYMBOL_GPL(sched_compute_energy_tp);
EXPORT_TRACEPOINT_SYMBOL_GPL(sched_entry_tp);
EXPORT_TRACEPOINT_SYMBOL_GPL(sched_exit_tp);
-EXPORT_TRACEPOINT_SYMBOL_GPL(sched_set_need_resched_tp);
+/* This needs non-GPL-only. It's called from other non-GPL-only exports (e.g. wake_up_process()) */
+EXPORT_TRACEPOINT_SYMBOL(sched_set_need_resched_tp);
DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues);
DEFINE_PER_CPU(struct rnd_state, sched_rnd_state);
@@ -1139,7 +1140,8 @@ void __trace_set_need_resched(struct task_struct *curr, int tif)
{
trace_sched_set_need_resched_tp(curr, smp_processor_id(), tif);
}
-EXPORT_SYMBOL_GPL(__trace_set_need_resched);
+/* This needs non-GPL-only. It's called from other non-GPL-only exports (e.g. wake_up_process()) */
+EXPORT_SYMBOL(__trace_set_need_resched);
void resched_curr(struct rq *rq)
{
--
2.52.0
Powered by blists - more mailing lists