mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc().
@ 2009-10-09  9:30 Catalin Marinas
  2009-10-09  9:30 ` [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object() Catalin Marinas
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Catalin Marinas @ 2009-10-09  9:30 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Tetsuo Handa, linux-kernel

We can't use GFP_KERNEL inside rcu_read_lock().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
---
 mm/kmemleak.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 4ea4510..a617518 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -833,7 +833,7 @@ static void early_alloc(struct early_log *log)
 	 */
 	rcu_read_lock();
 	object = create_object((unsigned long)log->ptr, log->size,
-			       log->min_count, GFP_KERNEL);
+			       log->min_count, GFP_ATOMIC);
 	spin_lock_irqsave(&object->lock, flags);
 	for (i = 0; i < log->trace_len; i++)
 		object->trace[i] = log->trace[i];


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

* [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object()
  2009-10-09  9:30 [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc() Catalin Marinas
@ 2009-10-09  9:30 ` Catalin Marinas
  2009-10-09 12:16   ` Pekka Enberg
  2009-10-09 13:55   ` Paul E. McKenney
  2009-10-09  9:37 ` [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc() Catalin Marinas
  2009-10-09  9:39 ` [PATCH] " Catalin Marinas
  2 siblings, 2 replies; 6+ messages in thread
From: Catalin Marinas @ 2009-10-09  9:30 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Paul E. McKenney, linux-kernel

This patch adds NULL pointer checking in the early_alloc() function.

Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
---
 mm/kmemleak.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index a617518..8bf765c 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -834,11 +834,14 @@ static void early_alloc(struct early_log *log)
 	rcu_read_lock();
 	object = create_object((unsigned long)log->ptr, log->size,
 			       log->min_count, GFP_ATOMIC);
+	if (!object)
+		goto out;
 	spin_lock_irqsave(&object->lock, flags);
 	for (i = 0; i < log->trace_len; i++)
 		object->trace[i] = log->trace[i];
 	object->trace_len = log->trace_len;
 	spin_unlock_irqrestore(&object->lock, flags);
+out:
 	rcu_read_unlock();
 }
 


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

* Re: [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc().
  2009-10-09  9:30 [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc() Catalin Marinas
  2009-10-09  9:30 ` [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object() Catalin Marinas
@ 2009-10-09  9:37 ` Catalin Marinas
  2009-10-09  9:39 ` [PATCH] " Catalin Marinas
  2 siblings, 0 replies; 6+ messages in thread
From: Catalin Marinas @ 2009-10-09  9:37 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Tetsuo Handa, linux-kernel

On Fri, 2009-10-09 at 10:30 +0100, Catalin Marinas wrote:
> We can't use GFP_KERNEL inside rcu_read_lock().
> 
> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

I mistakenly dropped the author information. The correct patch should
have a "From: Tetsuo" line. I'll re-post in reply to this message.

-- 
Catalin


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

* [PATCH] kmemleak: Use GFP_ATOMIC for early_alloc().
  2009-10-09  9:30 [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc() Catalin Marinas
  2009-10-09  9:30 ` [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object() Catalin Marinas
  2009-10-09  9:37 ` [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc() Catalin Marinas
@ 2009-10-09  9:39 ` Catalin Marinas
  2 siblings, 0 replies; 6+ messages in thread
From: Catalin Marinas @ 2009-10-09  9:39 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Tetsuo Handa, linux-kernel

From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>

We can't use GFP_KERNEL inside rcu_read_lock().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
---

Please ignore [PATCH 1/2] with the same subject as it didn't have the
correct author information. Thanks.

 mm/kmemleak.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/kmemleak.c b/mm/kmemleak.c
index 4ea4510..a617518 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
@@ -833,7 +833,7 @@ static void early_alloc(struct early_log *log)
 	 */
 	rcu_read_lock();
 	object = create_object((unsigned long)log->ptr, log->size,
-			       log->min_count, GFP_KERNEL);
+			       log->min_count, GFP_ATOMIC);
 	spin_lock_irqsave(&object->lock, flags);
 	for (i = 0; i < log->trace_len; i++)
 		object->trace[i] = log->trace[i];


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

* Re: [PATCH 2/2] kmemleak: Check for NULL pointer returned by  create_object()
  2009-10-09  9:30 ` [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object() Catalin Marinas
@ 2009-10-09 12:16   ` Pekka Enberg
  2009-10-09 13:55   ` Paul E. McKenney
  1 sibling, 0 replies; 6+ messages in thread
From: Pekka Enberg @ 2009-10-09 12:16 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: Linus Torvalds, Paul E. McKenney, linux-kernel

On Fri, Oct 9, 2009 at 12:30 PM, Catalin Marinas
<catalin.marinas@arm.com> wrote:
> This patch adds NULL pointer checking in the early_alloc() function.
>
> Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>

Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>

> ---
>  mm/kmemleak.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/mm/kmemleak.c b/mm/kmemleak.c
> index a617518..8bf765c 100644
> --- a/mm/kmemleak.c
> +++ b/mm/kmemleak.c
> @@ -834,11 +834,14 @@ static void early_alloc(struct early_log *log)
>        rcu_read_lock();
>        object = create_object((unsigned long)log->ptr, log->size,
>                               log->min_count, GFP_ATOMIC);
> +       if (!object)
> +               goto out;
>        spin_lock_irqsave(&object->lock, flags);
>        for (i = 0; i < log->trace_len; i++)
>                object->trace[i] = log->trace[i];
>        object->trace_len = log->trace_len;
>        spin_unlock_irqrestore(&object->lock, flags);
> +out:
>        rcu_read_unlock();
>  }
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

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

* Re: [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object()
  2009-10-09  9:30 ` [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object() Catalin Marinas
  2009-10-09 12:16   ` Pekka Enberg
@ 2009-10-09 13:55   ` Paul E. McKenney
  1 sibling, 0 replies; 6+ messages in thread
From: Paul E. McKenney @ 2009-10-09 13:55 UTC (permalink / raw)
  To: Catalin Marinas; +Cc: Linus Torvalds, linux-kernel

On Fri, Oct 09, 2009 at 10:30:34AM +0100, Catalin Marinas wrote:
> This patch adds NULL pointer checking in the early_alloc() function.

Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

> Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
> ---
>  mm/kmemleak.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/mm/kmemleak.c b/mm/kmemleak.c
> index a617518..8bf765c 100644
> --- a/mm/kmemleak.c
> +++ b/mm/kmemleak.c
> @@ -834,11 +834,14 @@ static void early_alloc(struct early_log *log)
>  	rcu_read_lock();
>  	object = create_object((unsigned long)log->ptr, log->size,
>  			       log->min_count, GFP_ATOMIC);
> +	if (!object)
> +		goto out;
>  	spin_lock_irqsave(&object->lock, flags);
>  	for (i = 0; i < log->trace_len; i++)
>  		object->trace[i] = log->trace[i];
>  	object->trace_len = log->trace_len;
>  	spin_unlock_irqrestore(&object->lock, flags);
> +out:
>  	rcu_read_unlock();
>  }
> 
> 

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

end of thread, other threads:[~2009-10-09 13:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-10-09  9:30 [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc() Catalin Marinas
2009-10-09  9:30 ` [PATCH 2/2] kmemleak: Check for NULL pointer returned by create_object() Catalin Marinas
2009-10-09 12:16   ` Pekka Enberg
2009-10-09 13:55   ` Paul E. McKenney
2009-10-09  9:37 ` [PATCH 1/2] kmemleak: Use GFP_ATOMIC for early_alloc() Catalin Marinas
2009-10-09  9:39 ` [PATCH] " Catalin Marinas

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

Powered by JetHome