All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] IB/rdmavt: Remove err declaration in if statement in rvt_create_cq
@ 2019-07-09 22:13 Nathan Chancellor
  2019-07-09 22:38 ` Nick Desaulniers
  2019-07-09 23:05 ` [PATCH v2] IB/rdmavt: Fix variable shadowing issue " Nathan Chancellor
  0 siblings, 2 replies; 10+ messages in thread
From: Nathan Chancellor @ 2019-07-09 22:13 UTC (permalink / raw)
  To: Dennis Dalessandro, Mike Marciniszyn, Doug Ledford, Jason Gunthorpe
  Cc: Kamenee Arumugam, linux-rdma, linux-kernel, clang-built-linux,
	Nathan Chancellor

clang warns:

drivers/infiniband/sw/rdmavt/cq.c:260:7: warning: variable 'err' is used
uninitialized whenever 'if' condition is true
[-Wsometimes-uninitialized]
                if (err)
                    ^~~
drivers/infiniband/sw/rdmavt/cq.c:310:9: note: uninitialized use occurs
here
        return err;
               ^~~
drivers/infiniband/sw/rdmavt/cq.c:260:3: note: remove the 'if' if its
condition is always false
                if (err)
                ^~~~~~~~
drivers/infiniband/sw/rdmavt/cq.c:253:7: warning: variable 'err' is used
uninitialized whenever 'if' condition is true
[-Wsometimes-uninitialized]
                if (!cq->ip) {
                    ^~~~~~~
drivers/infiniband/sw/rdmavt/cq.c:310:9: note: uninitialized use occurs
here
        return err;
               ^~~
drivers/infiniband/sw/rdmavt/cq.c:253:3: note: remove the 'if' if its
condition is always false
                if (!cq->ip) {
                ^~~~~~~~~~~~~~
drivers/infiniband/sw/rdmavt/cq.c:211:9: note: initialize the variable
'err' to silence this warning
        int err;
               ^
                = 0
2 warnings generated.

There are two err declarations in this function: at the top and within
an if statement; clang warns because the assignments to err in the if
statement are local to the if statement so err will be used
uninitialized if this error handling is used. Remove the if statement's
err declaration so that everything works properly.

Fixes: 239b0e52d8aa ("IB/hfi1: Move rvt_cq_wc struct into uapi directory")
Link: https://github.com/ClangBuiltLinux/linux/issues/594
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
 drivers/infiniband/sw/rdmavt/cq.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/infiniband/sw/rdmavt/cq.c b/drivers/infiniband/sw/rdmavt/cq.c
index fac87b13329d..a85571a4cf57 100644
--- a/drivers/infiniband/sw/rdmavt/cq.c
+++ b/drivers/infiniband/sw/rdmavt/cq.c
@@ -247,8 +247,6 @@ int rvt_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
 	 * See rvt_mmap() for details.
 	 */
 	if (udata && udata->outlen >= sizeof(__u64)) {
-		int err;
-
 		cq->ip = rvt_create_mmap_info(rdi, sz, udata, u_wc);
 		if (!cq->ip) {
 			err = -ENOMEM;
-- 
2.22.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-07-10 17:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-09 22:13 [PATCH] IB/rdmavt: Remove err declaration in if statement in rvt_create_cq Nathan Chancellor
2019-07-09 22:38 ` Nick Desaulniers
2019-07-09 22:43   ` Nathan Chancellor
2019-07-09 23:05 ` [PATCH v2] IB/rdmavt: Fix variable shadowing issue " Nathan Chancellor
2019-07-09 23:16   ` Nick Desaulniers
2019-07-10 17:02   ` Jason Gunthorpe
2019-07-10 17:07     ` Nathan Chancellor
2019-07-10 17:03   ` Ira Weiny
2019-07-10 17:07     ` Nathan Chancellor
2019-07-10 17:17       ` Ira Weiny

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.