public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rcu: Avoid kthread_stop on invalid pointer if rcutorture reader startup fails
@ 2006-08-16 22:24 Josh Triplett
  2006-08-16 23:37 ` Paul E. McKenney
  0 siblings, 1 reply; 2+ messages in thread
From: Josh Triplett @ 2006-08-16 22:24 UTC (permalink / raw)
  To: linux-kernel, Andrew Morton, Paul McKenney, Dipankar Sarma

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>
---
 kernel/rcutorture.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index aff0064..8b09c95 100644
--- a/kernel/rcutorture.c
+++ b/kernel/rcutorture.c
@@ -779,7 +779,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");
-- 
1.4.1.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] rcu: Avoid kthread_stop on invalid pointer if rcutorture reader startup fails
  2006-08-16 22:24 [PATCH] rcu: Avoid kthread_stop on invalid pointer if rcutorture reader startup fails Josh Triplett
@ 2006-08-16 23:37 ` Paul E. McKenney
  0 siblings, 0 replies; 2+ messages in thread
From: Paul E. McKenney @ 2006-08-16 23:37 UTC (permalink / raw)
  To: Josh Triplett; +Cc: linux-kernel, Andrew Morton, Dipankar Sarma

On Wed, Aug 16, 2006 at 03:24:02PM -0700, Josh Triplett wrote:
> 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.

Good catch!!!

Acked-by: Paul E. McKenney <paulmck@us.ibm.com>
> Signed-off-by: Josh Triplett <josh@freedesktop.org>
> ---
>  kernel/rcutorture.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
> index aff0064..8b09c95 100644
> --- a/kernel/rcutorture.c
> +++ b/kernel/rcutorture.c
> @@ -779,7 +779,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");
> -- 
> 1.4.1.1
> 
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-08-16 23:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-16 22:24 [PATCH] rcu: Avoid kthread_stop on invalid pointer if rcutorture reader startup fails Josh Triplett
2006-08-16 23:37 ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox