Skip to contentSkip to conversation

Fix warnings reported by kbuild

PATCH In review Leon Romanovsky 3 participants 8 messages Jul 19, 2020 – Jul 20, 2020 InfiniBand

lore
Share & tools
lore
#0 lore raw

cover Fix warnings reported by kbuild

From: Leon Romanovsky <[email protected]>

Hi,

There are two change as were reported by kbuild. They are not important enough to have Fixes line.

Thanks

Leon Romanovsky (2):
RDMA/uverbs: Remove redundant assignments RDMA/uverbs: Silence shiftTooManyBitsSigned warning

 drivers/infiniband/core/uverbs_cmd.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

--
2.26.2

#1 lore raw

PATCH 1/2 RDMA/uverbs: Remove redundant assignments

From: Leon Romanovsky <[email protected]>

The kbuild reported the following warning, so clean whole uverbs_cmd.c file.

drivers/infiniband/core/uverbs_cmd.c:1066:6: warning: Variable 'ret'
is reassigned a value before the old one has
been used. [redundantAssignment]

    ret = uverbs_request(attrs, &cmd, sizeof(cmd));
        ^
   drivers/infiniband/core/uverbs_cmd.c:1064:0: note: Variable 'ret' is
reassigned a value before the old one has been
used.
    int    ret = -EINVAL;

^

---
 drivers/infiniband/core/uverbs_cmd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/infiniband/core/uverbs_cmd.c +6 -6
index a66fc3e37a74..7d2b4258f573 100644
@@ -558,9 +558,9 @@ static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_open_xrcd	cmd;
 	struct ib_uxrcd_object         *obj;
 	struct ib_xrcd                 *xrcd = NULL;
-	struct fd			f = {NULL, 0};
+	struct fd f = {};
 	struct inode                   *inode = NULL;
-	int				ret = 0;
+	int ret;
 	int				new_xrcd = 0;
 	struct ib_device *ib_dev;
 
@@ -761,7 +761,7 @@ static int ib_uverbs_rereg_mr(struct uverbs_attr_bundle *attrs)
 {
 	struct ib_uverbs_rereg_mr      cmd;
 	struct ib_uverbs_rereg_mr_resp resp;
-	struct ib_pd                *pd = NULL;
+	struct ib_pd *pd;
 	struct ib_mr                *mr;
 	struct ib_pd		    *old_pd;
 	int                          ret;
@@ -1059,7 +1059,7 @@ static int ib_uverbs_resize_cq(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_resize_cq	cmd;
 	struct ib_uverbs_resize_cq_resp	resp = {};
 	struct ib_cq			*cq;
-	int				ret = -EINVAL;
+	int ret;
 
 	ret = uverbs_request(attrs, &cmd, sizeof(cmd));
 	if (ret)
@@ -1504,7 +1504,7 @@ static int ib_uverbs_open_qp(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_open_qp        cmd;
 	struct ib_uqp_object           *obj;
 	struct ib_xrcd		       *xrcd;
-	struct ib_uobject	       *uninitialized_var(xrcd_uobj);
+	struct ib_uobject *xrcd_uobj;
 	struct ib_qp                   *qp;
 	struct ib_qp_open_attr          attr = {};
 	int ret;
@@ -3286,7 +3286,7 @@ static int __uverbs_create_xsrq(struct uverbs_attr_bundle *attrs,
 	struct ib_usrq_object           *obj;
 	struct ib_pd                    *pd;
 	struct ib_srq                   *srq;
-	struct ib_uobject               *uninitialized_var(xrcd_uobj);
+	struct ib_uobject *xrcd_uobj;
 	struct ib_srq_init_attr          attr;
 	int ret;
 	struct ib_device *ib_dev;
Signature · 1 line
2.26.2
#7 lore raw

PATCH 2/2 RDMA/uverbs: Silence shiftTooManyBitsSigned warning

In reply to Leon Romanovsky

From: Leon Romanovsky <[email protected]>

Fix reported by kbuild warning.

drivers/infiniband/core/uverbs_cmd.c:1897:47: warning: Shifting
signed 32-bit value by 31 bits is undefined
behaviour [shiftTooManyBitsSigned]

    BUILD_BUG_ON(IB_USER_LAST_QP_ATTR_MASK == (1 << 31));
                                                 ^
---
 drivers/infiniband/core/uverbs_cmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/infiniband/core/uverbs_cmd.c +1 -1
index 7d2b4258f573..51f8e5464f10 100644
@@ -1892,7 +1892,7 @@ static int ib_uverbs_ex_modify_qp(struct uverbs_attr_bundle *attrs)
 	 * Last bit is reserved for extending the attr_mask by
 	 * using another field.
 	 */
-	BUILD_BUG_ON(IB_USER_LAST_QP_ATTR_MASK == (1 << 31));
+	BUILD_BUG_ON(IB_USER_LAST_QP_ATTR_MASK == (1ULL << 31));
 
 	if (cmd.base.attr_mask &
 	    ~((IB_USER_LAST_QP_ATTR_MASK << 1) - 1))
Signature · 1 line
2.26.2
#2 lore raw

Re: [PATCH rdma-next 1/2] RDMA/uverbs: Remove redundant assignments

In reply to Leon Romanovsky
Quoted 38 lines · Leon Romanovsky

From: Leon Romanovsky <[email protected]>

The kbuild reported the following warning, so clean whole uverbs_cmd.c file.

drivers/infiniband/core/uverbs_cmd.c:1066:6: warning: Variable 'ret'
is reassigned a value before the old one has
been used. [redundantAssignment]

    ret = uverbs_request(attrs, &cmd, sizeof(cmd));
        ^
   drivers/infiniband/core/uverbs_cmd.c:1064:0: note: Variable 'ret' is
reassigned a value before the old one has been
used.
    int    ret = -EINVAL;

^

---
 drivers/infiniband/core/uverbs_cmd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/infiniband/core/uverbs_cmd.c +2 -2
index a66fc3e37a74..7d2b4258f573 100644
@@ -558,9 +558,9 @@ static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_open_xrcd	cmd;
 	struct ib_uxrcd_object         *obj;
 	struct ib_xrcd                 *xrcd = NULL;
-	struct fd			f = {NULL, 0};
+	struct fd f = {};
 	struct inode                   *inode = NULL;
-	int				ret = 0;
+	int ret;
 	int				new_xrcd = 0;
 	struct ib_device *ib_dev;
 

drivers/infiniband/core/uverbs_cmd.c static int ib_uverbs_rereg_mr(struct uverbs_attr_bundle *attrs) · line 764

Quoted 5 lines
drivers/infiniband/core/uverbs_cmd.c +1 -1
@@ -761,7 +761,7 @@ static int ib_uverbs_rereg_mr(struct uverbs_attr_bundle *attrs)
 {
 	struct ib_uverbs_rereg_mr      cmd;
 	struct ib_uverbs_rereg_mr_resp resp;
-	struct ib_pd                *pd = NULL;
+	struct ib_pd *pd;

This line shouldn't be changed, PD is passed as an argument to ops.rereg_user_mr.

Thanks

#3 lore raw

Re: [PATCH rdma-next 1/2] RDMA/uverbs: Remove redundant assignments

In reply to Leon Romanovsky
Quoted 26 lines · Leon Romanovsky

From: Leon Romanovsky <[email protected]>

The kbuild reported the following warning, so clean whole uverbs_cmd.c file.

drivers/infiniband/core/uverbs_cmd.c:1066:6: warning: Variable 'ret'
is reassigned a value before the old one has
been used. [redundantAssignment]

    ret = uverbs_request(attrs, &cmd, sizeof(cmd));
        ^
   drivers/infiniband/core/uverbs_cmd.c:1064:0: note: Variable 'ret' is
reassigned a value before the old one has been
used.
    int    ret = -EINVAL;

^

---
 drivers/infiniband/core/uverbs_cmd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/infiniband/core/uverbs_cmd.c +0 -0
index a66fc3e37a74..7d2b4258f573 100644

drivers/infiniband/core/uverbs_cmd.c static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs) · line 565

Quoted 10 lines
drivers/infiniband/core/uverbs_cmd.c +2 -2
@@ -558,9 +558,9 @@ static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_open_xrcd	cmd;
 	struct ib_uxrcd_object         *obj;
 	struct ib_xrcd                 *xrcd = NULL;
-	struct fd			f = {NULL, 0};
+	struct fd f = {};
 	struct inode                   *inode = NULL;
-	int				ret = 0;
+	int ret;
 	int				new_xrcd = 0;
 	struct ib_device *ib_dev;

I don't mind removing the whitespace, but changing it for just some of the variables makes it harder to read the code IMO.

#4 lore raw

Re: [PATCH rdma-next 1/2] RDMA/uverbs: Remove redundant assignments

Quoted 32 lines · Gal Pressman
Quoted 31 lines · Leon Romanovsky

From: Leon Romanovsky <[email protected]>

The kbuild reported the following warning, so clean whole uverbs_cmd.c file.

drivers/infiniband/core/uverbs_cmd.c:1066:6: warning: Variable 'ret'
is reassigned a value before the old one has
been used. [redundantAssignment]

    ret = uverbs_request(attrs, &cmd, sizeof(cmd));
        ^
   drivers/infiniband/core/uverbs_cmd.c:1064:0: note: Variable 'ret' is
reassigned a value before the old one has been
used.
    int    ret = -EINVAL;

^

---
 drivers/infiniband/core/uverbs_cmd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/infiniband/core/uverbs_cmd.c +1 -1
index a66fc3e37a74..7d2b4258f573 100644
@@ -558,9 +558,9 @@ static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_open_xrcd	cmd;
 	struct ib_uxrcd_object         *obj;
 	struct ib_xrcd                 *xrcd = NULL;
-	struct fd			f = {NULL, 0};
+	struct fd f = {};
Quoted 8 lines

drivers/infiniband/core/uverbs_cmd.c static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs) · line 565

Quoted 5 lines
drivers/infiniband/core/uverbs_cmd.c +1 -1
 	struct inode                   *inode = NULL;
-	int				ret = 0;
+	int ret;
 	int				new_xrcd = 0;
 	struct ib_device *ib_dev;

I don't mind removing the whitespace, but changing it for just some of the variables makes it harder to read the code IMO.

I wanted to remove for all variables in the same patch but was afraid to hear opposition and waste my time on redoing it.

Once we decide that this should be done, we will change. It will take less than ten seconds with clang-formatter.

Thanks

#5 lore raw

Re: [PATCH rdma-next 1/2] RDMA/uverbs: Remove redundant assignments

Quoted 40 lines · Leon Romanovsky
Quoted 30 lines · Gal Pressman
Quoted 29 lines · Leon Romanovsky

From: Leon Romanovsky <[email protected]>

The kbuild reported the following warning, so clean whole uverbs_cmd.c file.

drivers/infiniband/core/uverbs_cmd.c:1066:6: warning: Variable 'ret'
is reassigned a value before the old one has
been used. [redundantAssignment]

    ret = uverbs_request(attrs, &cmd, sizeof(cmd));
        ^
   drivers/infiniband/core/uverbs_cmd.c:1064:0: note: Variable 'ret' is
reassigned a value before the old one has been
used.
    int    ret = -EINVAL;

^

 drivers/infiniband/core/uverbs_cmd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/infiniband/core/uverbs_cmd.c +2 -1
index a66fc3e37a74..7d2b4258f573 100644
+++ b/drivers/infiniband/core/uverbs_cmd.c
@@ -558,9 +558,9 @@ static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_open_xrcd	cmd;
 	struct ib_uxrcd_object         *obj;
 	struct ib_xrcd                 *xrcd = NULL;
-	struct fd			f = {NULL, 0};
+	struct fd f = {};
Quoted 8 lines

drivers/infiniband/core/uverbs_cmd.c static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs) · line 565

Quoted 5 lines
drivers/infiniband/core/uverbs_cmd.c +1 -1
 	struct inode                   *inode = NULL;
-	int				ret = 0;
+	int ret;
 	int				new_xrcd = 0;
 	struct ib_device *ib_dev;

I don't mind removing the whitespace, but changing it for just some of the variables makes it harder to read the code IMO.

Quoted 5 lines

I wanted to remove for all variables in the same patch but was afraid to hear opposition and waste my time on redoing it.

Once we decide that this should be done, we will change. It will take less than ten seconds with clang-formatter.

It has been something that is going on slowly, I'm not sure a big reformatting is a good idea, it really messes up backporting

Maybe these changes could be moved to the end so it is more readable?

Jason

#6 lore raw

Re: [PATCH rdma-next 1/2] RDMA/uverbs: Remove redundant assignments

Quoted 44 lines · Jason Gunthorpe
Quoted 43 lines · Leon Romanovsky
Quoted 30 lines · Gal Pressman
Quoted 29 lines · Leon Romanovsky

From: Leon Romanovsky <[email protected]>

The kbuild reported the following warning, so clean whole uverbs_cmd.c file.

drivers/infiniband/core/uverbs_cmd.c:1066:6: warning: Variable 'ret'
is reassigned a value before the old one has
been used. [redundantAssignment]

    ret = uverbs_request(attrs, &cmd, sizeof(cmd));
        ^
   drivers/infiniband/core/uverbs_cmd.c:1064:0: note: Variable 'ret' is
reassigned a value before the old one has been
used.
    int    ret = -EINVAL;

^

 drivers/infiniband/core/uverbs_cmd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/infiniband/core/uverbs_cmd.c +2 -1
index a66fc3e37a74..7d2b4258f573 100644
+++ b/drivers/infiniband/core/uverbs_cmd.c
@@ -558,9 +558,9 @@ static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs)
 	struct ib_uverbs_open_xrcd	cmd;
 	struct ib_uxrcd_object         *obj;
 	struct ib_xrcd                 *xrcd = NULL;
-	struct fd			f = {NULL, 0};
+	struct fd f = {};
Quoted 8 lines

drivers/infiniband/core/uverbs_cmd.c static int ib_uverbs_open_xrcd(struct uverbs_attr_bundle *attrs) · line 565

Quoted 5 lines
drivers/infiniband/core/uverbs_cmd.c +1 -1
 	struct inode                   *inode = NULL;
-	int				ret = 0;
+	int ret;
 	int				new_xrcd = 0;
 	struct ib_device *ib_dev;

I don't mind removing the whitespace, but changing it for just some of the variables makes it harder to read the code IMO.

I wanted to remove for all variables in the same patch but was afraid to hear opposition and waste my time on redoing it.

Quoted 7 lines
Quoted 2 lines

Once we decide that this should be done, we will change. It will take less than ten seconds with clang-formatter.

It has been something that is going on slowly, I'm not sure a big reformatting is a good idea, it really messes up backporting

Maybe these changes could be moved to the end so it is more readable?

Nice, I'll do it.

Quoted 2 lines

Jason