staging: zsmalloc: fix uninit'ed variable warning
diff mbox series

Message ID 1339621422-8449-1-git-send-email-sjenning@linux.vnet.ibm.com
State New, archived
Headers show
Series
  • staging: zsmalloc: fix uninit'ed variable warning
Related show

Commit Message

Seth Jennings June 13, 2012, 9:03 p.m. UTC
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>
---
 drivers/staging/zsmalloc/zsmalloc-main.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Minchan Kim June 14, 2012, 1:35 a.m. UTC | #1
Hi Seth,

On 06/14/2012 06:03 AM, Seth Jennings wrote:

> 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>


Nice catch!

Acked-by: Minchan Kim <minchan@kernel.org>

Nitpick:
I can't see the warning.
My gcc version is gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3.

Please, Cced linux-mm, too.
Some guys in mm might have a interest in zsmalloc. :)
Seth Jennings June 14, 2012, 2:13 p.m. UTC | #2
On 06/13/2012 08:35 PM, Minchan Kim wrote:

> Nice catch!


by Andrew!

> Nitpick:
> I can't see the warning.
> My gcc version is gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3.


I couldn't either but Andrew could and he verified the fix.

Not sure what gcc version he is running.

> Please, Cced linux-mm, too.
> Some guys in mm might have a interest in zsmalloc. :)


Meant to include linux-mm :-/  I'll be sure to include
them in future zsmalloc patches.

--
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/
Konrad Rzeszutek Wilk June 14, 2012, 4:44 p.m. UTC | #3
On Wed, Jun 13, 2012 at 04:03:42PM -0500, Seth Jennings wrote:
> 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>

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> ---
>  drivers/staging/zsmalloc/zsmalloc-main.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/zsmalloc/zsmalloc-main.c b/drivers/staging/zsmalloc/zsmalloc-main.c
> index fb54a9b..4af3dd6 100644
> --- a/drivers/staging/zsmalloc/zsmalloc-main.c
> +++ b/drivers/staging/zsmalloc/zsmalloc-main.c
> @@ -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)
> -- 
> 1.7.9.5
--
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/

Patch
diff mbox series

diff --git a/drivers/staging/zsmalloc/zsmalloc-main.c b/drivers/staging/zsmalloc/zsmalloc-main.c
index fb54a9b..4af3dd6 100644
--- a/drivers/staging/zsmalloc/zsmalloc-main.c
+++ b/drivers/staging/zsmalloc/zsmalloc-main.c
@@ -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)