From patchwork Mon Sep 24 23:55:31 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Hefty X-Patchwork-Id: 186632 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id F3DB92C007C for ; Tue, 25 Sep 2012 09:57:10 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751685Ab2IXX44 (ORCPT ); Mon, 24 Sep 2012 19:56:56 -0400 Received: from mga03.intel.com ([143.182.124.21]:25118 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751771Ab2IXXzg convert rfc822-to-8bit (ORCPT ); Mon, 24 Sep 2012 19:55:36 -0400 Received: from azsmga001.ch.intel.com ([10.2.17.19]) by azsmga101.ch.intel.com with ESMTP; 24 Sep 2012 16:55:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.80,478,1344236400"; d="scan'208";a="196595285" Received: from orsmsx104.amr.corp.intel.com ([10.22.225.131]) by azsmga001.ch.intel.com with ESMTP; 24 Sep 2012 16:55:32 -0700 Received: from orsmsx101.amr.corp.intel.com ([169.254.8.152]) by ORSMSX104.amr.corp.intel.com ([169.254.3.159]) with mapi id 14.01.0355.002; Mon, 24 Sep 2012 16:55:32 -0700 From: "Hefty, Sean" To: "linux-rdma (linux-rdma@vger.kernel.org)" , "netdev@vger.kernel.org" Subject: [PATCH 9/26 v3] rdma/cm: Verify that source and dest sa_family are the same Thread-Topic: [PATCH 9/26 v3] rdma/cm: Verify that source and dest sa_family are the same Thread-Index: Ac2ajOPSfHk8hy5GR5i7Fa/XLr0elw== Date: Mon, 24 Sep 2012 23:55:31 +0000 Message-ID: <1828884A29C6694DAF28B7E6B8A8237346A8F0E0@ORSMSX101.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Sean Hefty --- resending with netdev copied drivers/infiniband/core/cma.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index b305963..fa4ac4f 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c @@ -1839,14 +1839,9 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv) struct rdma_addr *addr = &route->addr; struct cma_work *work; int ret; - struct sockaddr_in *src_addr = (struct sockaddr_in *)&route->addr.src_addr; - struct sockaddr_in *dst_addr = (struct sockaddr_in *)&route->addr.dst_addr; struct net_device *ndev = NULL; u16 vid; - if (src_addr->sin_family != dst_addr->sin_family) - return -EINVAL; - work = kzalloc(sizeof *work, GFP_KERNEL); if (!work) return -ENOMEM; @@ -2122,6 +2117,9 @@ int rdma_resolve_addr(struct rdma_cm_id *id, struct sockaddr *src_addr, return ret; } + if (cma_family(id_priv) != dst_addr->sa_family) + return -EINVAL; + if (!cma_comp_exch(id_priv, RDMA_CM_ADDR_BOUND, RDMA_CM_ADDR_QUERY)) return -EINVAL;