public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] vmalloc.c: fix double error checking
@ 2009-07-07 16:13 Figo.zhang
  2009-07-08  0:19 ` Tejun Heo
  2009-07-08  2:11 ` [PATCH v2] " Figo.zhang
  0 siblings, 2 replies; 6+ messages in thread
From: Figo.zhang @ 2009-07-07 16:13 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Tejun Heo, lkml

it is no need for double error checking.

Signed-off-by: Figo.zhang <figo1802@gmail.com>
--- 
mm/vmalloc.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index f8189a4..56b2469 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -159,20 +159,15 @@ static int vmap_page_range_noflush(unsigned long start, unsigned long end,
 	pgd_t *pgd;
 	unsigned long next;
 	unsigned long addr = start;
-	int err = 0;
 	int nr = 0;
 
 	BUG_ON(addr >= end);
 	pgd = pgd_offset_k(addr);
 	do {
 		next = pgd_addr_end(addr, end);
-		err = vmap_pud_range(pgd, addr, next, prot, pages, &nr);
-		if (err)
-			break;
+		if (vmap_pud_range(pgd, addr, next, prot, pages, &nr))
+			return -ENOMEM;
 	} while (pgd++, addr = next, addr != end);
-
-	if (unlikely(err))
-		return err;
 	return nr;
 }
 



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

* Re: [PATCH] vmalloc.c: fix double error checking
  2009-07-07 16:13 [PATCH] vmalloc.c: fix double error checking Figo.zhang
@ 2009-07-08  0:19 ` Tejun Heo
  2009-07-08  0:40   ` Figo.zhang
  2009-07-08  2:11 ` [PATCH v2] " Figo.zhang
  1 sibling, 1 reply; 6+ messages in thread
From: Tejun Heo @ 2009-07-08  0:19 UTC (permalink / raw)
  To: Figo.zhang; +Cc: Andrew Morton, lkml

Figo.zhang wrote:
> it is no need for double error checking.
> 
> Signed-off-by: Figo.zhang <figo1802@gmail.com>
> -		err = vmap_pud_range(pgd, addr, next, prot, pages, &nr);
> -		if (err)
> -			break;
> +		if (vmap_pud_range(pgd, addr, next, prot, pages, &nr))
> +			return -ENOMEM;

Wouldn't it be better to keep the error return value?

Thanks.

--
tejun

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

* Re: [PATCH] vmalloc.c: fix double error checking
  2009-07-08  0:19 ` Tejun Heo
@ 2009-07-08  0:40   ` Figo.zhang
  2009-07-08  2:02     ` Tejun Heo
  0 siblings, 1 reply; 6+ messages in thread
From: Figo.zhang @ 2009-07-08  0:40 UTC (permalink / raw)
  To: Tejun Heo; +Cc: Andrew Morton, lkml

On Wed, 2009-07-08 at 09:19 +0900, Tejun Heo wrote:
> Figo.zhang wrote:
> > it is no need for double error checking.
> > 
> > Signed-off-by: Figo.zhang <figo1802@gmail.com>
> > -		err = vmap_pud_range(pgd, addr, next, prot, pages, &nr);
> > -		if (err)
> > -			break;
> > +		if (vmap_pud_range(pgd, addr, next, prot, pages, &nr))
> > +			return -ENOMEM;
> 
> Wouldn't it be better to keep the error return value?

see the vmap_pud_range(), if suceed return 0, if error return "-ENOMEM",
so it had better use clearly logic if error directly return "-EOMEM",
avoid double checking.

Best,
Figo.zhang


> 
> Thanks.
> 
> --
> tejun


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

* Re: [PATCH] vmalloc.c: fix double error checking
  2009-07-08  0:40   ` Figo.zhang
@ 2009-07-08  2:02     ` Tejun Heo
  0 siblings, 0 replies; 6+ messages in thread
From: Tejun Heo @ 2009-07-08  2:02 UTC (permalink / raw)
  To: Figo.zhang; +Cc: Andrew Morton, lkml

Figo.zhang wrote:
> On Wed, 2009-07-08 at 09:19 +0900, Tejun Heo wrote:
>> Figo.zhang wrote:
>>> it is no need for double error checking.
>>>
>>> Signed-off-by: Figo.zhang <figo1802@gmail.com>
>>> -		err = vmap_pud_range(pgd, addr, next, prot, pages, &nr);
>>> -		if (err)
>>> -			break;
>>> +		if (vmap_pud_range(pgd, addr, next, prot, pages, &nr))
>>> +			return -ENOMEM;
>> Wouldn't it be better to keep the error return value?
> 
> see the vmap_pud_range(), if suceed return 0, if error return "-ENOMEM",
> so it had better use clearly logic if error directly return "-EOMEM",
> avoid double checking.

Yeah, I saw that but I still think it would be (minutely) better to
just pass through the error value.  It isn't exclusive with double
error checking, just do err = vmap_pud_range(); if (err) return err;

Thanks.

-- 
tejun

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

* [PATCH v2] vmalloc.c: fix double error checking
  2009-07-07 16:13 [PATCH] vmalloc.c: fix double error checking Figo.zhang
  2009-07-08  0:19 ` Tejun Heo
@ 2009-07-08  2:11 ` Figo.zhang
  2009-07-08  2:16   ` Tejun Heo
  1 sibling, 1 reply; 6+ messages in thread
From: Figo.zhang @ 2009-07-08  2:11 UTC (permalink / raw)
  To: Tejun Heo; +Cc: lkml, Andrew Morton

it is no need for double error checking.

in v2, if vmap_pud_ranger() error, directly return err. 

Signed-off-by: Figo.zhang <figo1802@gmail.com>
---
mm/vmalloc.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index f8189a4..ed6b4b9 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -168,11 +168,9 @@ static int vmap_page_range_noflush(unsigned long
start, unsigned long end,
 		next = pgd_addr_end(addr, end);
 		err = vmap_pud_range(pgd, addr, next, prot, pages, &nr);
 		if (err)
-			break;
+			return err;
 	} while (pgd++, addr = next, addr != end);
 
-	if (unlikely(err))
-		return err;
 	return nr;
 }
 



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

* Re: [PATCH v2] vmalloc.c: fix double error checking
  2009-07-08  2:11 ` [PATCH v2] " Figo.zhang
@ 2009-07-08  2:16   ` Tejun Heo
  0 siblings, 0 replies; 6+ messages in thread
From: Tejun Heo @ 2009-07-08  2:16 UTC (permalink / raw)
  To: Figo.zhang; +Cc: lkml, Andrew Morton

Figo.zhang wrote:
> it is no need for double error checking.
> 
> in v2, if vmap_pud_ranger() error, directly return err. 
> 
> Signed-off-by: Figo.zhang <figo1802@gmail.com>

Acked-by: Tejun Heo <tj@kernel.org>

Thanks.

-- 
tejun

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

end of thread, other threads:[~2009-07-08  2:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-07 16:13 [PATCH] vmalloc.c: fix double error checking Figo.zhang
2009-07-08  0:19 ` Tejun Heo
2009-07-08  0:40   ` Figo.zhang
2009-07-08  2:02     ` Tejun Heo
2009-07-08  2:11 ` [PATCH v2] " Figo.zhang
2009-07-08  2:16   ` Tejun Heo

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