Thread (3 messages) 3 messages, 2 authors, 2012-02-20

Re: [PATCH] Fix potentially derefencing uninitialized 'r'.

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2012-02-17 22:28:09
Also in: lkml

On Fri,  3 Feb 2012 17:20:56 +0900
Geunsik Lim [off-list ref] wrote:
quoted hunk ↗ jump to hunk
struct memblock_region 'r' will not be initialized potentially
because of while statement's condition in __next_mem_pfn_range()function.
Initialize struct memblock_region data structure by default.

Signed-off-by: Geunsik Lim <redacted>
---
 mm/memblock.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/mm/memblock.c b/mm/memblock.c
index 77b5f22..867f5a2 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -671,7 +671,7 @@ void __init_memblock __next_mem_pfn_range(int *idx, int nid,
 				unsigned long *out_end_pfn, int *out_nid)
 {
 	struct memblock_type *type = &memblock.memory;
-	struct memblock_region *r;
+	struct memblock_region *r = &type->regions[*idx];
 
 	while (++*idx < type->cnt) {
 		r = &type->regions[*idx];
The following `if' test prevents any such dereference.

Maybe you saw a compilation warning (I didn't).  If so,
unintialized_var() is one way of suppressing it.

A better way is to reorganise the code (nicely).  Often that option
isn't available.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help