lkml.org 
[lkml]   [2008]   [May]   [27]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateTue, 27 May 2008 08:49:32 +0300
FromMika Kukkonen <>
Subject[PATCH 2.6.26-rc4] Fix nesting error checking in arch/x86/mm/ioremap.c
The discussion about latest -rc reminded me of this patch (probably
unrelated but anyway). With "-Wextra" I get following warning:

  CC      arch/x86/mm/ioremap.o
arch/x86/mm/ioremap.c: In function 'early_iounmap':
arch/x86/mm/ioremap.c:599: warning: comparison of unsigned expression < 0 is always false

Following patch avoids potential underflow and actually does the WARN().

Signed-off-by: Mika Kukkonen <mikukkon@iki.fi>

---
 arch/x86/mm/ioremap.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 71bb315..78667f4 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -595,8 +595,12 @@ void __init early_iounmap(void *addr, unsigned long size)
 	enum fixed_addresses idx;
 	unsigned int nesting;
 
-	nesting = --early_ioremap_nested;
-	WARN_ON(nesting < 0);
+	if (early_ioremap_nested)
+		nesting = --early_ioremap_nested;
+	else { 
+		nesting = 0;
+		WARN_ON(1);
+	}
 
 	if (early_ioremap_debug) {
 		printk(KERN_INFO "early_iounmap(%p, %08lx) [%d]\n", addr,

\
 
 \ /
  Last update: 2008-05-27 08:19    [from the cache]
©2003-2008