diff mbox series

padata: fix uninitialized return value in padata_replace()

Message ID 20200210181100.1288437-1-daniel.m.jordan@oracle.com (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series padata: fix uninitialized return value in padata_replace() | expand

Commit Message

Daniel Jordan Feb. 10, 2020, 6:11 p.m. UTC
According to Geert's report[0],

  kernel/padata.c: warning: 'err' may be used uninitialized in this
    function [-Wuninitialized]:  => 539:2

Warning is seen only with older compilers on certain archs.  The
runtime effect is potentially returning garbage down the stack when
padata's cpumasks are modified before any pcrypt requests have run.

Simplest fix is to initialize err to the success value.

[0] http://lkml.kernel.org/r/20200210135506.11536-1-geert@linux-m68k.org

Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Fixes: bbefa1dd6a6d ("crypto: pcrypt - Avoid deadlock by using per-instance padata queues")
Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Cc: linux-crypto@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 kernel/padata.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Herbert Xu Feb. 22, 2020, 1:41 a.m. UTC | #1
On Mon, Feb 10, 2020 at 01:11:00PM -0500, Daniel Jordan wrote:
> According to Geert's report[0],
> 
>   kernel/padata.c: warning: 'err' may be used uninitialized in this
>     function [-Wuninitialized]:  => 539:2
> 
> Warning is seen only with older compilers on certain archs.  The
> runtime effect is potentially returning garbage down the stack when
> padata's cpumasks are modified before any pcrypt requests have run.
> 
> Simplest fix is to initialize err to the success value.
> 
> [0] http://lkml.kernel.org/r/20200210135506.11536-1-geert@linux-m68k.org
> 
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Fixes: bbefa1dd6a6d ("crypto: pcrypt - Avoid deadlock by using per-instance padata queues")
> Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com>
> Cc: Herbert Xu <herbert@gondor.apana.org.au>
> Cc: Steffen Klassert <steffen.klassert@secunet.com>
> Cc: linux-crypto@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
>  kernel/padata.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/kernel/padata.c b/kernel/padata.c
index 72777c10bb9c..62082597d4a2 100644
--- a/kernel/padata.c
+++ b/kernel/padata.c
@@ -512,7 +512,7 @@  static int padata_replace_one(struct padata_shell *ps)
 static int padata_replace(struct padata_instance *pinst)
 {
 	struct padata_shell *ps;
-	int err;
+	int err = 0;
 
 	pinst->flags |= PADATA_RESET;