Here is a <not tested> patch that I think removes support for binding
to 127.0.0.1.  Sean will this work?

If we agree to do this for 2.6.33, then I'll build/test this and resubmit.

----

rdma/cma: Disallow binding rdma endpoints to 127.0.0.1.

Currently this functionality breaks openmpi.  Once openmpi is fixed to
correctly ignore 127.0.0.1 as a valid external rdma address, we can
re-enable this functionality.

Signed-off-by: Steve Wise <sw...@opengridcomputing.com>
---

 drivers/infiniband/core/cma.c |   16 ++--------------
 1 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index cc9b594..cd3d351 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -628,19 +628,9 @@ static inline int cma_zero_addr(struct sockaddr *addr)
        }
 }
 
-static inline int cma_loopback_addr(struct sockaddr *addr)
-{
-       if (addr->sa_family == AF_INET)
-               return ipv4_is_loopback(
-                       ((struct sockaddr_in *) addr)->sin_addr.s_addr);
-       else
-               return ipv6_addr_loopback(
-                       &((struct sockaddr_in6 *) addr)->sin6_addr);
-}
-
 static inline int cma_any_addr(struct sockaddr *addr)
 {
-       return cma_zero_addr(addr) || cma_loopback_addr(addr);
+       return cma_zero_addr(addr);
 }
 
 static inline __be16 cma_port(struct sockaddr *addr)
@@ -2115,9 +2105,7 @@ int rdma_bind_addr(struct rdma_cm_id *id, struct sockaddr 
*addr)
        if (ret)
                goto err1;
 
-       if (cma_loopback_addr(addr)) {
-               ret = cma_bind_loopback(id_priv);
-       } else if (!cma_zero_addr(addr)) {
+       if (!cma_zero_addr(addr)) {
                ret = rdma_translate_ip(addr, &id->route.addr.dev_addr);
                if (ret)
                        goto err1;

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

Reply via email to