2019-07-08 17:38:28

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] percpu: fix pcpu_page_first_chunk return code handling

gcc complains that pcpu_page_first_chunk() might return an uninitialized
error code when the loop is never entered:

mm/percpu.c: In function 'pcpu_page_first_chunk':
mm/percpu.c:2929:9: error: 'rc' may be used uninitialized in this function [-Werror=maybe-uninitialized]

Make it return zero like before the cleanup.

Fixes: a13e0ad81216 ("percpu: Make pcpu_setup_first_chunk() void function")
Signed-off-by: Arnd Bergmann <[email protected]>
---
mm/percpu.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/percpu.c b/mm/percpu.c
index 5a918a4b1da0..5b65f753c575 100644
--- a/mm/percpu.c
+++ b/mm/percpu.c
@@ -2917,6 +2917,7 @@ int __init pcpu_page_first_chunk(size_t reserved_size,
ai->reserved_size, ai->dyn_size);

pcpu_setup_first_chunk(ai, vm.addr);
+ rc = 0;
goto out_free_ar;

enomem:
--
2.20.0


2019-07-08 19:28:00

by Dennis Zhou

[permalink] [raw]
Subject: Re: [PATCH] percpu: fix pcpu_page_first_chunk return code handling

On Mon, Jul 08, 2019 at 02:52:09PM +0200, Arnd Bergmann wrote:
> gcc complains that pcpu_page_first_chunk() might return an uninitialized
> error code when the loop is never entered:
>
> mm/percpu.c: In function 'pcpu_page_first_chunk':
> mm/percpu.c:2929:9: error: 'rc' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> Make it return zero like before the cleanup.
>
> Fixes: a13e0ad81216 ("percpu: Make pcpu_setup_first_chunk() void function")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> mm/percpu.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/percpu.c b/mm/percpu.c
> index 5a918a4b1da0..5b65f753c575 100644
> --- a/mm/percpu.c
> +++ b/mm/percpu.c
> @@ -2917,6 +2917,7 @@ int __init pcpu_page_first_chunk(size_t reserved_size,
> ai->reserved_size, ai->dyn_size);
>
> pcpu_setup_first_chunk(ai, vm.addr);
> + rc = 0;
> goto out_free_ar;
>
> enomem:
> --
> 2.20.0
>

Hi Arnd,

I got the report for the kbuild bot. I have the fix in my tree already.

Thanks,
Dennis