diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2016-05-02 20:58:56 +0200 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2016-06-16 00:45:00 +0200 |
commit | 4929c913bda505dbe44bb42c00da06011fee6c9d (patch) | |
tree | aa11d64d780bba090f5e964308ab88c397340754 /drivers/w1 | |
parent | rcu: Disable TASKS_RCU for usermode Linux (diff) | |
download | linux-4929c913bda505dbe44bb42c00da06011fee6c9d.tar.xz linux-4929c913bda505dbe44bb42c00da06011fee6c9d.zip |
rcu: Make call_rcu_tasks() tolerate first call with irqs disabled
Currently, if the very first call to call_rcu_tasks() has irqs disabled,
it will create the rcu_tasks_kthread with irqs disabled, which will
result in a splat in the memory allocator, which kthread_run() invokes
with the expectation that irqs are enabled.
This commit fixes this problem by deferring kthread creation if called
with irqs disabled. The first call to call_rcu_tasks() that has irqs
enabled will create the kthread.
This bug was detected by rcutorture changes that were motivated by
Iftekhar Ahmed's mutation-testing efforts.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'drivers/w1')
0 files changed, 0 insertions, 0 deletions