diff mbox

[rdma-next,2/4] IB/core: Remove unnecessary check in ibnl_rcv_msg

Message ID 1462340165-16067-3-git-send-email-leon@kernel.org (mailing list archive)
State Superseded
Headers show

Commit Message

Leon Romanovsky May 4, 2016, 5:36 a.m. UTC
From: Mark Bloch <markb@mellanox.com>

RDMA_NL_GET_OP is defined like this: (type & ((1 << 10) - 1))
which means op (defined as an int) can never be a negative number.

Fixes: b2cbae2c2487 ('RDMA: Add netlink infrastructure')
Signed-off-by: Mark Bloch <markb@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
---
 drivers/infiniband/core/netlink.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Steve Wise May 4, 2016, 3:37 p.m. UTC | #1
> -----Original Message-----
> From: linux-rdma-owner@vger.kernel.org [mailto:linux-rdma-
> owner@vger.kernel.org] On Behalf Of Leon Romanovsky
> Sent: Wednesday, May 04, 2016 12:36 AM
> To: dledford@redhat.com
> Cc: linux-rdma@vger.kernel.org; markb@mellanox.com; majd@mellanox.com;
> matanb@mellanox.com; Leon Romanovsky
> Subject: [PATCH rdma-next 2/4] IB/core: Remove unnecessary check in
> ibnl_rcv_msg
> 
> From: Mark Bloch <markb@mellanox.com>
> 
> RDMA_NL_GET_OP is defined like this: (type & ((1 << 10) - 1))
> which means op (defined as an int) can never be a negative number.
> 
> Fixes: b2cbae2c2487 ('RDMA: Add netlink infrastructure')
> Signed-off-by: Mark Bloch <markb@mellanox.com>
> Signed-off-by: Leon Romanovsky <leon@kernel.org>
> ---
>  drivers/infiniband/core/netlink.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/infiniband/core/netlink.c
b/drivers/infiniband/core/netlink.c
> index d47df93..aa491f7 100644
> --- a/drivers/infiniband/core/netlink.c
> +++ b/drivers/infiniband/core/netlink.c
> @@ -155,8 +155,7 @@ static int ibnl_rcv_msg(struct sk_buff *skb, struct
nlmsghdr
> *nlh)
> 
>  	list_for_each_entry(client, &client_list, list) {
>  		if (client->index == index) {
> -			if (op < 0 || op >= client->nops ||
> -			    !client->cb_table[op].dump)
> +			if (op >= client->nops || !client->cb_table[op].dump)
>  				return -EINVAL;
> 
>  			/*

Should op be made unsigned as well?  That would make it clearer.

Steve.


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ira Weiny May 4, 2016, 9:35 p.m. UTC | #2
On Wed, May 04, 2016 at 10:37:10AM -0500, Steve Wise wrote:
> 
> 
> > 
> > From: Mark Bloch <markb@mellanox.com>
> > 
> > RDMA_NL_GET_OP is defined like this: (type & ((1 << 10) - 1))
> > which means op (defined as an int) can never be a negative number.
> > 
> > Fixes: b2cbae2c2487 ('RDMA: Add netlink infrastructure')
> > Signed-off-by: Mark Bloch <markb@mellanox.com>
> > Signed-off-by: Leon Romanovsky <leon@kernel.org>
> > ---
> >  drivers/infiniband/core/netlink.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/drivers/infiniband/core/netlink.c
> b/drivers/infiniband/core/netlink.c
> > index d47df93..aa491f7 100644
> > --- a/drivers/infiniband/core/netlink.c
> > +++ b/drivers/infiniband/core/netlink.c
> > @@ -155,8 +155,7 @@ static int ibnl_rcv_msg(struct sk_buff *skb, struct
> nlmsghdr
> > *nlh)
> > 
> >  	list_for_each_entry(client, &client_list, list) {
> >  		if (client->index == index) {
> > -			if (op < 0 || op >= client->nops ||
> > -			    !client->cb_table[op].dump)
> > +			if (op >= client->nops || !client->cb_table[op].dump)
> >  				return -EINVAL;
> > 
> >  			/*
> 
> Should op be made unsigned as well?  That would make it clearer.

I was going to make the same comment.

Ira

> 
> Steve.
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/core/netlink.c b/drivers/infiniband/core/netlink.c
index d47df93..aa491f7 100644
--- a/drivers/infiniband/core/netlink.c
+++ b/drivers/infiniband/core/netlink.c
@@ -155,8 +155,7 @@  static int ibnl_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
 
 	list_for_each_entry(client, &client_list, list) {
 		if (client->index == index) {
-			if (op < 0 || op >= client->nops ||
-			    !client->cb_table[op].dump)
+			if (op >= client->nops || !client->cb_table[op].dump)
 				return -EINVAL;
 
 			/*