On Tue, Feb 12, 2019 at 09:15:13AM +0000, Julien Thierry wrote:
quoted
quoted
quoted
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index a674c7db..b1bb7e9 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3289,6 +3289,14 @@ static inline void schedule_debug(struct task_struct *prev)
__schedule_bug(prev);
preempt_count_set(PREEMPT_DISABLED);
}
+
+ if (IS_ENABLED(CONFIG_DEBUG_UACCESS_SLEEP) &&
+ unlikely(unsafe_user_region_active())) {
+ printk(KERN_ERR "BUG: scheduling while user_access enabled: %s/%d/0x%08x\n",
+ prev->comm, prev->pid, preempt_count());
+ dump_stack();
+ }
+
rcu_sleep_check();
profile_hit(SCHED_PROFILING, __builtin_return_address(0));
I guess I'll drop the might_resched() part of this patch if that sounds
alright.
I'm still confused by the schedule_debug() part. How is that not broken?
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel