public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-next] IB/core: Don't resolve passive side RoCE L2 address in cma req handler
@ 2014-03-26 16:23 Or Gerlitz
       [not found] ` <1395851011-8081-1-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Or Gerlitz @ 2014-03-26 16:23 UTC (permalink / raw)
  To: roland-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Moni Shoua, Or Gerlitz

From: Moni Shoua <monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>

The code that resolves the passive side source mac within the rdma_cm 
connection request handler was both redundant and buggy, remove it.

It was redundant since later, when an RC QP is modified to RTR state 
the resolution will take place in the ib_core module. It was buggy b/c
this callback also deals with UD SIDR exchange under which we wrongly
looked on the REQ member of the CM event and dereferenced a random value.

Signed-off-by: Moni Shoua <monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Signed-off-by: Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---

Hi Roland, we're post 3.14-rc8 and hence I assume will go to 3.15-rc1 
and once there we will post it to -stable to it gets into 3.14.y

That nasty random deref wasn't causing instant crashes, but rather only 
when running on lengthy QA loops, so we missed it through the submission.

 drivers/infiniband/core/cm.c  |   17 -----------------
 drivers/infiniband/core/cma.c |   17 -----------------
 include/rdma/ib_cm.h          |    1 -
 3 files changed, 0 insertions(+), 35 deletions(-)

diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index 0601b9d..c323917 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -349,23 +349,6 @@ static void cm_init_av_for_response(struct cm_port *port, struct ib_wc *wc,
 			   grh, &av->ah_attr);
 }
 
-int ib_update_cm_av(struct ib_cm_id *id, const u8 *smac, const u8 *alt_smac)
-{
-	struct cm_id_private *cm_id_priv;
-
-	cm_id_priv = container_of(id, struct cm_id_private, id);
-
-	if (smac != NULL)
-		memcpy(cm_id_priv->av.smac, smac, sizeof(cm_id_priv->av.smac));
-
-	if (alt_smac != NULL)
-		memcpy(cm_id_priv->alt_av.smac, alt_smac,
-		       sizeof(cm_id_priv->alt_av.smac));
-
-	return 0;
-}
-EXPORT_SYMBOL(ib_update_cm_av);
-
 static int cm_init_av_by_path(struct ib_sa_path_rec *path, struct cm_av *av)
 {
 	struct cm_device *cm_dev;
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 199958d..7e8c3d5 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -1336,28 +1336,11 @@ static int cma_req_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event)
 	ret = conn_id->id.event_handler(&conn_id->id, &event);
 	if (ret)
 		goto err3;
-
-	if (is_iboe) {
-		if (ib_event->param.req_rcvd.primary_path != NULL)
-			rdma_addr_find_smac_by_sgid(
-				&ib_event->param.req_rcvd.primary_path->sgid,
-				psmac, NULL);
-		else
-			psmac = NULL;
-		if (ib_event->param.req_rcvd.alternate_path != NULL)
-			rdma_addr_find_smac_by_sgid(
-				&ib_event->param.req_rcvd.alternate_path->sgid,
-				palt_smac, NULL);
-		else
-			palt_smac = NULL;
-	}
 	/*
 	 * Acquire mutex to prevent user executing rdma_destroy_id()
 	 * while we're accessing the cm_id.
 	 */
 	mutex_lock(&lock);
-	if (is_iboe)
-		ib_update_cm_av(cm_id, psmac, palt_smac);
 	if (cma_comp(conn_id, RDMA_CM_CONNECT) &&
 	    (conn_id->id.qp_type != IB_QPT_UD))
 		ib_send_cm_mra(cm_id, CMA_CM_MRA_SETTING, NULL, 0);
diff --git a/include/rdma/ib_cm.h b/include/rdma/ib_cm.h
index f29e3a2..0e3ff30 100644
--- a/include/rdma/ib_cm.h
+++ b/include/rdma/ib_cm.h
@@ -601,5 +601,4 @@ struct ib_cm_sidr_rep_param {
 int ib_send_cm_sidr_rep(struct ib_cm_id *cm_id,
 			struct ib_cm_sidr_rep_param *param);
 
-int ib_update_cm_av(struct ib_cm_id *id, const u8 *smac, const u8 *alt_smac);
 #endif /* IB_CM_H */
-- 
1.7.1

--
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] 4+ messages in thread

* Re: [PATCH for-next] IB/core: Don't resolve passive side RoCE L2 address in cma req handler
       [not found] ` <1395851011-8081-1-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
@ 2014-03-26 17:10   ` Yann Droneaud
       [not found]     ` <1395853824.3297.34.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
  2014-03-26 18:29   ` Or Gerlitz
  1 sibling, 1 reply; 4+ messages in thread
From: Yann Droneaud @ 2014-03-26 17:10 UTC (permalink / raw)
  To: Or Gerlitz
  Cc: roland-DgEjT+Ai2ygdnm+yROfE0A, linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	Moni Shoua

Hi,

Le mercredi 26 mars 2014 à 18:23 +0200, Or Gerlitz a écrit :
> From: Moni Shoua <monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> 
> The code that resolves the passive side source mac within the rdma_cm 
> connection request handler was both redundant and buggy, remove it.
> 
> It was redundant since later, when an RC QP is modified to RTR state 
> the resolution will take place in the ib_core module. It was buggy b/c
> this callback also deals with UD SIDR exchange under which we wrongly
> looked on the REQ member of the CM event and dereferenced a random value.
> 

Is that a revert of some patch ?

> Signed-off-by: Moni Shoua <monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> Signed-off-by: Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> ---
> 
> Hi Roland, we're post 3.14-rc8 and hence I assume will go to 3.15-rc1 
> and once there we will post it to -stable to it gets into 3.14.y
> 

Just add Cc: stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

See:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/stable_kernel_rules.txt?id=v3.14-rc8#n36

Regards.

-- 
Yann Droneaud
OPTEYA


--
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] 4+ messages in thread

* Re: [PATCH for-next] IB/core: Don't resolve passive side RoCE L2 address in cma req handler
       [not found] ` <1395851011-8081-1-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  2014-03-26 17:10   ` Yann Droneaud
@ 2014-03-26 18:29   ` Or Gerlitz
  1 sibling, 0 replies; 4+ messages in thread
From: Or Gerlitz @ 2014-03-26 18:29 UTC (permalink / raw)
  To: Or Gerlitz; +Cc: Roland Dreier, linux-rdma, Moni Shoua

On Wed, Mar 26, 2014 at 6:23 PM, Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote:
> ---
> Hi Roland, we're post 3.14-rc8 and hence I assume will go to 3.15-rc1
> and once there we will post it to -stable to it gets into 3.14.y


So we have here some warnings on unused variables, I forgot to amend
that, sorry,  will send V1 for that.
--
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] 4+ messages in thread

* Re: [PATCH for-next] IB/core: Don't resolve passive side RoCE L2 address in cma req handler
       [not found]     ` <1395853824.3297.34.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
@ 2014-03-26 18:30       ` Or Gerlitz
  0 siblings, 0 replies; 4+ messages in thread
From: Or Gerlitz @ 2014-03-26 18:30 UTC (permalink / raw)
  To: Yann Droneaud; +Cc: Or Gerlitz, Roland Dreier, linux-rdma, Moni Shoua

On Wed, Mar 26, 2014 at 7:10 PM, Yann Droneaud <ydroneaud-RlY5vtjFyJ3QT0dZR+AlfA@public.gmane.org> wrote:

> Is that a revert of some patch ?

Its not a full revents,  but I will pick what you are probably
suggesting and mention
in the V1 change-log which commit this  fixes, thanks

> Just add Cc: stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

I know that but preferns to send the patch myself to the stable mailing list
--
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] 4+ messages in thread

end of thread, other threads:[~2014-03-26 18:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-26 16:23 [PATCH for-next] IB/core: Don't resolve passive side RoCE L2 address in cma req handler Or Gerlitz
     [not found] ` <1395851011-8081-1-git-send-email-ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-03-26 17:10   ` Yann Droneaud
     [not found]     ` <1395853824.3297.34.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-03-26 18:30       ` Or Gerlitz
2014-03-26 18:29   ` Or Gerlitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox