From: Steve Wise <swise@opengridcomputing.com>
To: Roland Dreier <rdreier@cisco.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
general@lists.openfabrics.org
Subject: Re: [ofa-general] [PATCH 2.6.25] RDMA/cxgb3: Fail loopbackconnections.
Date: Wed, 13 Feb 2008 09:51:39 -0600 [thread overview]
Message-ID: <47B3120B.3040409@opengridcomputing.com> (raw)
In-Reply-To: <adaodakua9v.fsf@cisco.com>
Roland Dreier wrote:
> Steve, I had to update the patch adding an include and fixing the
> function declaration (as below)... but how much testing have you done
> with this??
>
Now I understand. I thought I'd fixed these! I fixed them locally in
the test tree on my victim and then tested, but forgot to update my git
tree.
Sorry for this.
You want me to resubmit?
> commit 8704e9a8790cc9e394198663c1c9150c899fb9a2
> Author: Steve Wise <swise@opengridcomputing.com>
> Date: Tue Feb 12 16:09:29 2008 -0600
>
> RDMA/cxgb3: Fail loopback connections
>
> The cxgb3 HW and driver don't support loopback RDMA connections. So
> fail any connection attempt where the destination address is local.
>
> Signed-off-by: Steve Wise <swise@opengridcomputing.com>
> Signed-off-by: Roland Dreier <rolandd@cisco.com>
>
> diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c
> index e9a08fa..320f2b6 100644
> --- a/drivers/infiniband/hw/cxgb3/iwch_cm.c
> +++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c
> @@ -35,6 +35,7 @@
> #include <linux/skbuff.h>
> #include <linux/timer.h>
> #include <linux/notifier.h>
> +#include <linux/inetdevice.h>
>
> #include <net/neighbour.h>
> #include <net/netevent.h>
> @@ -1784,6 +1785,17 @@ err:
> return err;
> }
>
> +static int is_loopback_dst(struct iw_cm_id *cm_id)
> +{
> + struct net_device *dev;
> +
> + dev = ip_dev_find(&init_net, cm_id->remote_addr.sin_addr.s_addr);
> + if (!dev)
> + return 0;
> + dev_put(dev);
> + return 1;
> +}
> +
> int iwch_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
> {
> int err = 0;
> @@ -1791,6 +1803,11 @@ int iwch_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
> struct iwch_ep *ep;
> struct rtable *rt;
>
> + if (is_loopback_dst(cm_id)) {
> + err = -ENOSYS;
> + goto out;
> + }
> +
> ep = alloc_ep(sizeof(*ep), GFP_KERNEL);
> if (!ep) {
> printk(KERN_ERR MOD "%s - cannot alloc ep.\n", __FUNCTION__);
next prev parent reply other threads:[~2008-02-13 15:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-12 22:09 [PATCH 2.6.25] RDMA/cxgb3: Fail loopback connections Steve Wise
2008-02-12 22:09 ` [ofa-general] " Steve Wise
2008-02-13 0:26 ` Roland Dreier
2008-02-13 1:41 ` Steve Wise
2008-02-13 9:18 ` [ofa-general] [PATCH 2.6.25] RDMA/cxgb3: Fail loopbackconnections Diego Guella
2008-02-13 9:18 ` Diego Guella
2008-02-13 15:46 ` Roland Dreier
2008-02-13 15:46 ` Roland Dreier
2008-02-13 15:47 ` Steve Wise
2008-02-13 15:47 ` Steve Wise
2008-02-13 15:49 ` Roland Dreier
2008-02-13 15:51 ` Steve Wise [this message]
2008-02-13 16:03 ` Steve Wise
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47B3120B.3040409@opengridcomputing.com \
--to=swise@opengridcomputing.com \
--cc=general@lists.openfabrics.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rdreier@cisco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.