Skip to content

Commit

Permalink
[PATCH] rcu: Avoid kthread_stop on invalid pointer if rcutorture read…
Browse files Browse the repository at this point in the history
…er startup fails

rcu_torture_init kmallocs the array of reader threads, then creates each
one with kthread_run, cleaning up with rcu_torture_cleanup if this fails.
rcu_torture_cleanup calls kthread_stop on any non-NULL pointer in the
array; however, any readers after the one that failed to start up will have
invalid pointers, not null pointers.  Avoid this by using kzalloc instead.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Acked-by: Paul E. McKenney <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Josh Triplett authored and Linus Torvalds committed Oct 4, 2006
1 parent 3c29e03 commit 2860aab
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion kernel/rcutorture.c
Original file line number Diff line number Diff line change
Expand Up @@ -780,7 +780,7 @@ rcu_torture_init(void)
writer_task = NULL;
goto unwind;
}
reader_tasks = kmalloc(nrealreaders * sizeof(reader_tasks[0]),
reader_tasks = kzalloc(nrealreaders * sizeof(reader_tasks[0]),
GFP_KERNEL);
if (reader_tasks == NULL) {
VERBOSE_PRINTK_ERRSTRING("out of memory");
Expand Down

0 comments on commit 2860aab

Please sign in to comment.