From: Amir Vadai Date: Wed, 29 Dec 2010 15:23:07 +0000 (+0200) Subject: sdp: fix connect to IPv4 over IPv6 X-Git-Tag: v4.1.12-92~264^2~5^2~51 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b050a8508d17614c30f43b80c8b752e6ea3ee68b;p=users%2Fjedix%2Flinux-maple.git sdp: fix connect to IPv4 over IPv6 Signed-off-by: Amir Vadai --- diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index fb911120aeb05..320d45cd4ea0e 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -846,6 +846,10 @@ static int sdp_ipv4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_le return -EINVAL; if (!ssk->id) { + /* If IPv4 over IPv6, make sure rdma_bind will expect ipv4 address */ + if (inet6_sk(sk)) + inet6_sk(sk)->rcv_saddr.s6_addr32[2] = htonl(0x0000ffff); + rc = sdp_get_port(sk, 0); if (rc) return rc;