* [PATCH for-next] IB/core: Fix for core panic
@ 2017-08-30 19:14 Dennis Dalessandro
[not found] ` <20170830191409.4386.45635.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Dennis Dalessandro @ 2017-08-30 19:14 UTC (permalink / raw)
To: dledford-H+wXaHxf7aLQT0dZR+AlfA
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Alex Estrin
From: Alex Estrin <alex.estrin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Rdma device driver may not have implemented (*get_link_layer)()
so it can not be called directly. Should use appropriate helper function.
Fixes: 523633359224 ("IB/core: Fix the validations of a multicast LID in attach or detach operations")
Signed-off-by: Alex Estrin <alex.estrin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/core/verbs.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index ee9e27d..123084a 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -1646,8 +1646,9 @@ static bool is_valid_mcast_lid(struct ib_qp *qp, u16 lid)
*/
if (!ib_query_qp(qp, &attr, IB_QP_STATE | IB_QP_PORT, &init_attr)) {
if (attr.qp_state >= IB_QPS_INIT) {
- if (qp->device->get_link_layer(qp->device, attr.port_num) !=
- IB_LINK_LAYER_INFINIBAND)
+ enum rdma_link_layer ll =
+ rdma_port_get_link_layer(qp->device, attr.port_num);
+ if (ll != IB_LINK_LAYER_INFINIBAND)
return true;
goto lid_check;
}
@@ -1655,7 +1656,7 @@ static bool is_valid_mcast_lid(struct ib_qp *qp, u16 lid)
/* Can't get a quick answer, iterate over all ports */
for (port = 0; port < qp->device->phys_port_cnt; port++)
- if (qp->device->get_link_layer(qp->device, port) !=
+ if (rdma_port_get_link_layer(qp->device, port) !=
IB_LINK_LAYER_INFINIBAND)
num_eth_ports++;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 3+ messages in thread[parent not found: <20170830191409.4386.45635.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>]
* Re: [PATCH for-next] IB/core: Fix for core panic [not found] ` <20170830191409.4386.45635.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org> @ 2017-08-31 8:09 ` Yuval Shaia 2017-08-31 9:00 ` Leon Romanovsky 1 sibling, 0 replies; 3+ messages in thread From: Yuval Shaia @ 2017-08-31 8:09 UTC (permalink / raw) To: Dennis Dalessandro Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Alex Estrin On Wed, Aug 30, 2017 at 12:14:10PM -0700, Dennis Dalessandro wrote: > From: Alex Estrin <alex.estrin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > Rdma device driver may not have implemented (*get_link_layer)() > so it can not be called directly. Should use appropriate helper function. > > Fixes: 523633359224 ("IB/core: Fix the validations of a multicast LID in attach or detach operations") > Signed-off-by: Alex Estrin <alex.estrin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > Signed-off-by: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Reviewed-by: Yuval Shaia <yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> > --- > drivers/infiniband/core/verbs.c | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c > index ee9e27d..123084a 100644 > --- a/drivers/infiniband/core/verbs.c > +++ b/drivers/infiniband/core/verbs.c > @@ -1646,8 +1646,9 @@ static bool is_valid_mcast_lid(struct ib_qp *qp, u16 lid) > */ > if (!ib_query_qp(qp, &attr, IB_QP_STATE | IB_QP_PORT, &init_attr)) { > if (attr.qp_state >= IB_QPS_INIT) { > - if (qp->device->get_link_layer(qp->device, attr.port_num) != > - IB_LINK_LAYER_INFINIBAND) > + enum rdma_link_layer ll = > + rdma_port_get_link_layer(qp->device, attr.port_num); > + if (ll != IB_LINK_LAYER_INFINIBAND) > return true; > goto lid_check; > } > @@ -1655,7 +1656,7 @@ static bool is_valid_mcast_lid(struct ib_qp *qp, u16 lid) > > /* Can't get a quick answer, iterate over all ports */ > for (port = 0; port < qp->device->phys_port_cnt; port++) > - if (qp->device->get_link_layer(qp->device, port) != > + if (rdma_port_get_link_layer(qp->device, port) != > IB_LINK_LAYER_INFINIBAND) > num_eth_ports++; > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH for-next] IB/core: Fix for core panic [not found] ` <20170830191409.4386.45635.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org> 2017-08-31 8:09 ` Yuval Shaia @ 2017-08-31 9:00 ` Leon Romanovsky 1 sibling, 0 replies; 3+ messages in thread From: Leon Romanovsky @ 2017-08-31 9:00 UTC (permalink / raw) To: Dennis Dalessandro Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Alex Estrin [-- Attachment #1: Type: text/plain, Size: 2007 bytes --] On Wed, Aug 30, 2017 at 12:14:10PM -0700, Dennis Dalessandro wrote: > From: Alex Estrin <alex.estrin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > Rdma device driver may not have implemented (*get_link_layer)() s/Rdma/RDMA > so it can not be called directly. Should use appropriate helper function. > > Fixes: 523633359224 ("IB/core: Fix the validations of a multicast LID in attach or detach operations") > Signed-off-by: Alex Estrin <alex.estrin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > Signed-off-by: Dennis Dalessandro <dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > --- > drivers/infiniband/core/verbs.c | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c > index ee9e27d..123084a 100644 > --- a/drivers/infiniband/core/verbs.c > +++ b/drivers/infiniband/core/verbs.c > @@ -1646,8 +1646,9 @@ static bool is_valid_mcast_lid(struct ib_qp *qp, u16 lid) > */ > if (!ib_query_qp(qp, &attr, IB_QP_STATE | IB_QP_PORT, &init_attr)) { > if (attr.qp_state >= IB_QPS_INIT) { > - if (qp->device->get_link_layer(qp->device, attr.port_num) != > - IB_LINK_LAYER_INFINIBAND) > + enum rdma_link_layer ll = > + rdma_port_get_link_layer(qp->device, attr.port_num); > + if (ll != IB_LINK_LAYER_INFINIBAND) Please do the same solution as you did below. There is no need in temp variable. Thanks, Reviewed-by: Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> > return true; > goto lid_check; > } > @@ -1655,7 +1656,7 @@ static bool is_valid_mcast_lid(struct ib_qp *qp, u16 lid) > > /* Can't get a quick answer, iterate over all ports */ > for (port = 0; port < qp->device->phys_port_cnt; port++) > - if (qp->device->get_link_layer(qp->device, port) != > + if (rdma_port_get_link_layer(qp->device, port) != > IB_LINK_LAYER_INFINIBAND) > num_eth_ports++; > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-08-31 9:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-30 19:14 [PATCH for-next] IB/core: Fix for core panic Dennis Dalessandro
[not found] ` <20170830191409.4386.45635.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-08-31 8:09 ` Yuval Shaia
2017-08-31 9:00 ` Leon Romanovsky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox