staging: zsmalloc: fix uninit'ed variable warning
authorSeth Jennings <sjenning@linux.vnet.ibm.com>
Wed, 13 Jun 2012 21:03:42 +0000 (16:03 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Jun 2012 00:21:46 +0000 (17:21 -0700)
This patch fixes an uninitialized variable warning in
alloc_zspage().  It also fixes the secondary issue of
prev_page leaving scope on each loop iteration.  The only
reason this ever worked was because prev_page was occupying
the same space on the stack on each iteration.

Signed-off-by: Seth Jennings <sjenning@linux.vnet.ibm.com>
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/zsmalloc/zsmalloc-main.c

index fb54a9b94c331ba5b9c5c24a161f03c7e01e1ddb..4af3dd6641c9a13af830bd51f352a8542ab23350 100644 (file)
@@ -400,7 +400,7 @@ static void init_zspage(struct page *first_page, struct size_class *class)
 static struct page *alloc_zspage(struct size_class *class, gfp_t flags)
 {
        int i, error;
-       struct page *first_page = NULL;
+       struct page *first_page = NULL, *uninitialized_var(prev_page);
 
        /*
         * Allocate individual pages and link them together as:
@@ -415,7 +415,7 @@ static struct page *alloc_zspage(struct size_class *class, gfp_t flags)
         */
        error = -ENOMEM;
        for (i = 0; i < class->pages_per_zspage; i++) {
-               struct page *page, *prev_page;
+               struct page *page;
 
                page = alloc_page(flags);
                if (!page)