diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2016-05-02 11:58:56 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2016-06-15 15:45:00 -0700 |
commit | 4929c913bda505dbe44bb42c00da06011fee6c9d (patch) | |
tree | aa11d64d780bba090f5e964308ab88c397340754 /fs/stack.c | |
parent | 570dd3c7424179b831decb655ea9dd1ecea38adc (diff) | |
download | linux-4929c913bda505dbe44bb42c00da06011fee6c9d.tar.bz2 |
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 'fs/stack.c')
0 files changed, 0 insertions, 0 deletions