summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch')
-rw-r--r--debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch b/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch
new file mode 100644
index 000000000..106756de0
--- /dev/null
+++ b/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch
@@ -0,0 +1,37 @@
+From: Daniel Wagner <dwagner@suse.de>
+Date: Mon, 16 Dec 2019 16:15:57 +0100
+Subject: [PATCH 312/342] lib/smp_processor_id: Adjust
+ check_preemption_disabled()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8234196f578cabadf98da643b83e2904de6a2ef4
+
+[ Upstream commit af3c1c5fdf177870fb5e6e16b24e374696ab28f5 ]
+
+The current->migrate_disable counter is not always defined leading to
+build failures with DEBUG_PREEMPT && !PREEMPT_RT_BASE.
+
+Restrict the access to ->migrate_disable to same set where
+->migrate_disable is modified.
+
+Signed-off-by: Daniel Wagner <dwagner@suse.de>
+Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
+[bigeasy: adjust condition + description]
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ lib/smp_processor_id.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/smp_processor_id.c b/lib/smp_processor_id.c
+index 0c80992aa337..2e7398534b66 100644
+--- a/lib/smp_processor_id.c
++++ b/lib/smp_processor_id.c
+@@ -22,8 +22,10 @@ notrace static unsigned int check_preemption_disabled(const char *what1,
+ * Kernel threads bound to a single CPU can safely use
+ * smp_processor_id():
+ */
++#if defined(CONFIG_PREEMPT_RT_BASE) && (defined(CONFIG_SMP) || defined(CONFIG_SCHED_DEBUG))
+ if (current->migrate_disable)
+ goto out;
++#endif
+
+ if (current->nr_cpus_allowed == 1)
+ goto out;