Re: BUG: kernel NULL pointer dereference from check_preempt_wakeup()

From: Paul E. McKenney
Date: Sat Jun 06 2020 - 13:42:02 EST


On Fri, Jun 05, 2020 at 05:51:26PM -0700, Paul E. McKenney wrote:
> On Fri, Jun 05, 2020 at 11:41:59AM -0700, Paul E. McKenney wrote:
> > On Fri, Jun 05, 2020 at 07:16:07AM -0700, Paul E. McKenney wrote:
> > > On Fri, Jun 05, 2020 at 03:14:51PM +0200, Peter Zijlstra wrote:
> > >
> > > No KCSAN. GCC 8.2.1. No cgroups unless the kernel creates some.
> > > No userspace other than a C-language binary named "init" that
> > > sleeps in an infinite loop.
> > >
> > > .config attached.
> >
> > And in case it is helpful, here is the output of "git bisect view",
> > which lists rather more commits than "git bisect run" claims, but there
> > are only a few scheduler commits below. I don't see anything that
> > I can prove can cause this problem, but there are some that are at
> > least related to this code path.
> >
> > Is there anything that is actually relevant?
>
> And the run with the WARN and tracing did hit two failures, and the
> corresponding console logs are in the attached tarball. Both of them
> triggered a warning as well as the failure.

And the current state of the bisection, for whatever it is worth.

Thanx, Paul

------------------------------------------------------------------------

dbe9337109c2 sched/cpuacct: Fix charge cpuacct.usage_sys
04f5c362ec6d sched/fair: Replace zero-length array with flexible-array
95d685935a2e sched/pelt: Sync util/runnable_sum with PELT window when propagating
12aa2587388d sched/cpuacct: Use __this_cpu_add() instead of this_cpu_ptr()
7d148be69e3a sched/fair: Optimize enqueue_task_fair()
9013196a467e Merge branch 'sched/urgent'
2a0a24ebb499 sched: Make scheduler_ipi inline
90b5363acd47 sched: Clean up scheduler_ipi()
b1d1779e5ef7 sched/core: Simplify sched_init()
12ac6782a40a sched/swait: Reword some of the main description
17c891ab3491 sched/fair: Use __this_cpu_read() in wake_wide()
bf2c59fce407 sched/core: Fix illegal RCU from offline CPUs
f38f12d1e081 sched/fair: Mark sched_init_granularity __init
5a6d6a6ccb5f sched/fair: Refill bandwidth before scaling
457d1f465778 sched: Extract the task putting code from pick_next_task()
d91cecc15662 sched: Make newidle_balance() static again
36c5bdc43870 sched/topology: Kill SD_LOAD_BALANCE
e669ac8ab952 sched: Remove checks against SD_LOAD_BALANCE
9818427c6270 sched/debug: Make sd->flags sysctl read-only
45da27732b0b sched/fair: find_idlest_group(): Remove unused sd_flag parameter
586b58cac8b4 exit: Move preemption fixup up, move blocking operations down
64297f2b03cc sched/fair: Simplify the code of should_we_balance()
ab93a4bc955b sched/fair: Remove distribute_running from CFS bandwidth
e98fa02c4f2e sched/fair: Eliminate bandwidth race between throttling and distribution
f080d93e1d41 sched/debug: Fix trival print_task() format