[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190408223154.GC18333@archlinux-i9>
Date: Mon, 8 Apr 2019 15:31:54 -0700
From: Nathan Chancellor <natechancellor@...il.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Martin Schwidefsky <schwidefsky@...ibm.com>,
Heiko Carstens <heiko.carstens@...ibm.com>,
Harald Freudenberger <freude@...ux.ibm.com>,
clang-built-linux@...glegroups.com,
Nick Desaulniers <ndesaulniers@...gle.com>,
linux-s390@...r.kernel.org, Ingo Franzki <ifranzki@...ibm.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 05/12] s390: zcrypt: initialize variables before_use
On Mon, Apr 08, 2019 at 11:26:18PM +0200, Arnd Bergmann wrote:
> The 'func_code' variable gets printed in debug statements without
> a prior initialization in multiple functions, as reported when building
> with clang:
>
> drivers/s390/crypto/zcrypt_api.c:659:6: warning: variable 'func_code' is used uninitialized whenever 'if' condition is true
> [-Wsometimes-uninitialized]
> if (mex->outputdatalength < mex->inputdatalength) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/s390/crypto/zcrypt_api.c:725:29: note: uninitialized use occurs here
> trace_s390_zcrypt_rep(mex, func_code, rc,
> ^~~~~~~~~
> drivers/s390/crypto/zcrypt_api.c:659:2: note: remove the 'if' if its condition is always false
> if (mex->outputdatalength < mex->inputdatalength) {
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> drivers/s390/crypto/zcrypt_api.c:654:24: note: initialize the variable 'func_code' to silence this warning
> unsigned int func_code;
> ^
>
> Add initializations to all affected code paths to shut up the warning
> and make the warning output consistent.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
I'll never get used to seeing negative numbers assigned to unsigned
integers...
Reviewed-by: Nathan Chancellor <natechancellor@...il.com>
> ---
> drivers/s390/crypto/zcrypt_api.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/s390/crypto/zcrypt_api.c b/drivers/s390/crypto/zcrypt_api.c
> index eb93c2d27d0a..23472063d9a8 100644
> --- a/drivers/s390/crypto/zcrypt_api.c
> +++ b/drivers/s390/crypto/zcrypt_api.c
> @@ -657,6 +657,7 @@ static long zcrypt_rsa_modexpo(struct ap_perms *perms,
> trace_s390_zcrypt_req(mex, TP_ICARSAMODEXPO);
>
> if (mex->outputdatalength < mex->inputdatalength) {
> + func_code = -1;
> rc = -EINVAL;
> goto out;
> }
> @@ -739,6 +740,7 @@ static long zcrypt_rsa_crt(struct ap_perms *perms,
> trace_s390_zcrypt_req(crt, TP_ICARSACRT);
>
> if (crt->outputdatalength < crt->inputdatalength) {
> + func_code = -1;
> rc = -EINVAL;
> goto out;
> }
> @@ -946,6 +948,7 @@ static long zcrypt_send_ep11_cprb(struct ap_perms *perms,
>
> targets = kcalloc(target_num, sizeof(*targets), GFP_KERNEL);
> if (!targets) {
> + func_code = -1;
> rc = -ENOMEM;
> goto out;
> }
> @@ -953,6 +956,7 @@ static long zcrypt_send_ep11_cprb(struct ap_perms *perms,
> uptr = (struct ep11_target_dev __force __user *) xcrb->targets;
> if (copy_from_user(targets, uptr,
> target_num * sizeof(*targets))) {
> + func_code = -1;
> rc = -EFAULT;
> goto out_free;
> }
> --
> 2.20.0
>
Powered by blists - more mailing lists