diff for duplicates of <20140730184053.GA28087@obsidianresearch.com> diff --git a/a/1.txt b/N1/1.txt index 07456c1..1fc63f4 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -111,8 +111,8 @@ index 1999592ba88c..0e4198ee2370 100644 /* Initialize sk->sk_rcv_saddr from sctp_addr. */ static void sctp_v6_to_sk_saddr(union sctp_addr *addr, struct sock *sk) { -- if (addr->sa.sa_family = AF_INET && sctp_sk(sk)->v4mapped) { -+ if (addr->sa.sa_family = AF_INET) { +- if (addr->sa.sa_family == AF_INET && sctp_sk(sk)->v4mapped) { ++ if (addr->sa.sa_family == AF_INET) { sk->sk_v6_rcv_saddr.s6_addr32[0] = 0; sk->sk_v6_rcv_saddr.s6_addr32[1] = 0; sk->sk_v6_rcv_saddr.s6_addr32[2] = htonl(0x0000ffff); @@ -120,15 +120,15 @@ index 1999592ba88c..0e4198ee2370 100644 /* Initialize sk->sk_daddr from sctp_addr. */ static void sctp_v6_to_sk_daddr(union sctp_addr *addr, struct sock *sk) { -- if (addr->sa.sa_family = AF_INET && sctp_sk(sk)->v4mapped) { -+ if (addr->sa.sa_family = AF_INET) { +- if (addr->sa.sa_family == AF_INET && sctp_sk(sk)->v4mapped) { ++ if (addr->sa.sa_family == AF_INET) { sk->sk_v6_daddr.s6_addr32[0] = 0; sk->sk_v6_daddr.s6_addr32[1] = 0; sk->sk_v6_daddr.s6_addr32[2] = htonl(0x0000ffff); @@ -556,8 +556,6 @@ static int sctp_v6_available(union sctp_addr *addr, struct sctp_sock *sp) - if (IPV6_ADDR_ANY = type) + if (IPV6_ADDR_ANY == type) return 1; - if (type = IPV6_ADDR_MAPPED) { + if (type == IPV6_ADDR_MAPPED) { - if (sp && !sp->v4mapped) - return 0; if (sp && ipv6_only_sock(sctp_opt2sk(sp))) @@ -154,18 +154,18 @@ index 1999592ba88c..0e4198ee2370 100644 + */ +static int sctp_v6_addr_to_user(struct sctp_sock *sp, union sctp_addr *addr) { -- if (sp->v4mapped && AF_INET = addr->sa.sa_family) +- if (sp->v4mapped && AF_INET == addr->sa.sa_family) - sctp_v4_map_v6(addr); + if (sp->v4mapped) { -+ if (addr->sa.sa_family = AF_INET) ++ if (addr->sa.sa_family == AF_INET) + sctp_v4_map_v6(addr); + } else { -+ if (addr->sa.sa_family = AF_INET6 && ++ if (addr->sa.sa_family == AF_INET6 && + ipv6_addr_v4mapped(&addr->v6.sin6_addr)) + sctp_v6_map_v4(addr); + } + -+ if (addr->sa.sa_family = AF_INET) ++ if (addr->sa.sa_family == AF_INET) + return sizeof(struct sockaddr_in); + return sizeof(struct sockaddr_in6); } @@ -214,9 +214,10 @@ index 1999592ba88c..0e4198ee2370 100644 - /* Map ipv4 address into v4-mapped-on-v6 address. */ - if (sctp_sk(asoc->base.sk)->v4mapped && -- AF_INET = addr->sa.sa_family) { +- AF_INET == addr->sa.sa_family) { - sctp_v4_map_v6((union sctp_addr *)sin6); -- sin6->sin6_addr.s6_addr32[3] - addr->v4.sin_addr.s_addr; +- sin6->sin6_addr.s6_addr32[3] = +- addr->v4.sin_addr.s_addr; - return; - } + addr = (union sctp_addr *)msgname; @@ -227,7 +228,7 @@ index 1999592ba88c..0e4198ee2370 100644 - sin6->sin6_addr = sin6from->sin6_addr; - if (ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL) - sin6->sin6_scope_id = sin6from->sin6_scope_id; -+ if (paddr->sa.sa_family = AF_INET) { ++ if (paddr->sa.sa_family == AF_INET) { + addr->v4.sin_family = AF_INET; + addr->v4.sin_port = htons(asoc->peer.port); + addr->v4.sin_addr = paddr->v4.sin_addr; @@ -261,7 +262,7 @@ index 1999592ba88c..0e4198ee2370 100644 - - /* Map ipv4 address into v4-mapped-on-v6 address. */ - if (sctp_sk(skb->sk)->v4mapped && -- ip_hdr(skb)->version = 4) { +- ip_hdr(skb)->version == 4) { - sctp_v4_map_v6((union sctp_addr *)sin6); - sin6->sin6_addr.s6_addr32[3] = ip_hdr(skb)->saddr; - return; @@ -276,7 +277,7 @@ index 1999592ba88c..0e4198ee2370 100644 + addr = (union sctp_addr *)msgname; + sh = sctp_hdr(skb); + -+ if (ip_hdr(skb)->version = 4) { ++ if (ip_hdr(skb)->version == 4) { + addr->v4.sin_family = AF_INET; + addr->v4.sin_port = sh->source; + addr->v4.sin_addr.s_addr = ip_hdr(skb)->saddr; @@ -300,7 +301,7 @@ index 1999592ba88c..0e4198ee2370 100644 return 0; } rcu_read_unlock(); -- } else if (type = IPV6_ADDR_MAPPED) { +- } else if (type == IPV6_ADDR_MAPPED) { - if (!opt->v4mapped) - return 0; } @@ -526,7 +527,7 @@ index 7dd672fa651f..cf6c267a119c 100644 @@ -289,8 +289,8 @@ void sctp_transport_route(struct sctp_transport *transport, */ if (asoc && (!asoc->peer.primary_path || - (transport = asoc->peer.active_path))) + (transport == asoc->peer.active_path))) - opt->pf->af->to_sk_saddr(&transport->saddr, - asoc->base.sk); + opt->pf->to_sk_saddr(&transport->saddr, diff --git a/a/content_digest b/N1/content_digest index e182a80..fd586a1 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,6 +1,6 @@ "From\0Jason Gunthorpe <jgunthorpe@obsidianresearch.com>\0" "Subject\0[PATCH v2] sctp: Fixup v4mapped behaviour to comply with Sock API\0" - "Date\0Wed, 30 Jul 2014 18:40:53 +0000\0" + "Date\0Wed, 30 Jul 2014 12:40:53 -0600\0" "To\0Neil Horman <nhorman@tuxdriver.com>" " Daniel Borkmann <dborkman@redhat.com>\0" "Cc\0linux-sctp@vger.kernel.org" @@ -122,8 +122,8 @@ " /* Initialize sk->sk_rcv_saddr from sctp_addr. */\n" " static void sctp_v6_to_sk_saddr(union sctp_addr *addr, struct sock *sk)\n" " {\n" - "-\tif (addr->sa.sa_family = AF_INET && sctp_sk(sk)->v4mapped) {\n" - "+\tif (addr->sa.sa_family = AF_INET) {\n" + "-\tif (addr->sa.sa_family == AF_INET && sctp_sk(sk)->v4mapped) {\n" + "+\tif (addr->sa.sa_family == AF_INET) {\n" " \t\tsk->sk_v6_rcv_saddr.s6_addr32[0] = 0;\n" " \t\tsk->sk_v6_rcv_saddr.s6_addr32[1] = 0;\n" " \t\tsk->sk_v6_rcv_saddr.s6_addr32[2] = htonl(0x0000ffff);\n" @@ -131,15 +131,15 @@ " /* Initialize sk->sk_daddr from sctp_addr. */\n" " static void sctp_v6_to_sk_daddr(union sctp_addr *addr, struct sock *sk)\n" " {\n" - "-\tif (addr->sa.sa_family = AF_INET && sctp_sk(sk)->v4mapped) {\n" - "+\tif (addr->sa.sa_family = AF_INET) {\n" + "-\tif (addr->sa.sa_family == AF_INET && sctp_sk(sk)->v4mapped) {\n" + "+\tif (addr->sa.sa_family == AF_INET) {\n" " \t\tsk->sk_v6_daddr.s6_addr32[0] = 0;\n" " \t\tsk->sk_v6_daddr.s6_addr32[1] = 0;\n" " \t\tsk->sk_v6_daddr.s6_addr32[2] = htonl(0x0000ffff);\n" "@@ -556,8 +556,6 @@ static int sctp_v6_available(union sctp_addr *addr, struct sctp_sock *sp)\n" - " \tif (IPV6_ADDR_ANY = type)\n" + " \tif (IPV6_ADDR_ANY == type)\n" " \t\treturn 1;\n" - " \tif (type = IPV6_ADDR_MAPPED) {\n" + " \tif (type == IPV6_ADDR_MAPPED) {\n" "-\t\tif (sp && !sp->v4mapped)\n" "-\t\t\treturn 0;\n" " \t\tif (sp && ipv6_only_sock(sctp_opt2sk(sp)))\n" @@ -165,18 +165,18 @@ "+ */\n" "+static int sctp_v6_addr_to_user(struct sctp_sock *sp, union sctp_addr *addr)\n" " {\n" - "-\tif (sp->v4mapped && AF_INET = addr->sa.sa_family)\n" + "-\tif (sp->v4mapped && AF_INET == addr->sa.sa_family)\n" "-\t\tsctp_v4_map_v6(addr);\n" "+\tif (sp->v4mapped) {\n" - "+\t\tif (addr->sa.sa_family = AF_INET)\n" + "+\t\tif (addr->sa.sa_family == AF_INET)\n" "+\t\t\tsctp_v4_map_v6(addr);\n" "+\t} else {\n" - "+\t\tif (addr->sa.sa_family = AF_INET6 &&\n" + "+\t\tif (addr->sa.sa_family == AF_INET6 &&\n" "+\t\t ipv6_addr_v4mapped(&addr->v6.sin6_addr))\n" "+\t\t\tsctp_v6_map_v4(addr);\n" "+\t}\n" "+\n" - "+\tif (addr->sa.sa_family = AF_INET)\n" + "+\tif (addr->sa.sa_family == AF_INET)\n" "+\t\treturn sizeof(struct sockaddr_in);\n" "+\treturn sizeof(struct sockaddr_in6);\n" " }\n" @@ -225,9 +225,10 @@ " \n" "-\t\t/* Map ipv4 address into v4-mapped-on-v6 address. */\n" "-\t\tif (sctp_sk(asoc->base.sk)->v4mapped &&\n" - "-\t\t AF_INET = addr->sa.sa_family) {\n" + "-\t\t AF_INET == addr->sa.sa_family) {\n" "-\t\t\tsctp_v4_map_v6((union sctp_addr *)sin6);\n" - "-\t\t\tsin6->sin6_addr.s6_addr32[3] -\t\t\t\taddr->v4.sin_addr.s_addr;\n" + "-\t\t\tsin6->sin6_addr.s6_addr32[3] =\n" + "-\t\t\t\taddr->v4.sin_addr.s_addr;\n" "-\t\t\treturn;\n" "-\t\t}\n" "+\taddr = (union sctp_addr *)msgname;\n" @@ -238,7 +239,7 @@ "-\t\tsin6->sin6_addr = sin6from->sin6_addr;\n" "-\t\tif (ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL)\n" "-\t\t\tsin6->sin6_scope_id = sin6from->sin6_scope_id;\n" - "+\tif (paddr->sa.sa_family = AF_INET) {\n" + "+\tif (paddr->sa.sa_family == AF_INET) {\n" "+\t\taddr->v4.sin_family = AF_INET;\n" "+\t\taddr->v4.sin_port = htons(asoc->peer.port);\n" "+\t\taddr->v4.sin_addr = paddr->v4.sin_addr;\n" @@ -272,7 +273,7 @@ "-\n" "-\t\t/* Map ipv4 address into v4-mapped-on-v6 address. */\n" "-\t\tif (sctp_sk(skb->sk)->v4mapped &&\n" - "-\t\t ip_hdr(skb)->version = 4) {\n" + "-\t\t ip_hdr(skb)->version == 4) {\n" "-\t\t\tsctp_v4_map_v6((union sctp_addr *)sin6);\n" "-\t\t\tsin6->sin6_addr.s6_addr32[3] = ip_hdr(skb)->saddr;\n" "-\t\t\treturn;\n" @@ -287,7 +288,7 @@ "+\taddr = (union sctp_addr *)msgname;\n" "+\tsh = sctp_hdr(skb);\n" "+\n" - "+\tif (ip_hdr(skb)->version = 4) {\n" + "+\tif (ip_hdr(skb)->version == 4) {\n" "+\t\taddr->v4.sin_family = AF_INET;\n" "+\t\taddr->v4.sin_port = sh->source;\n" "+\t\taddr->v4.sin_addr.s_addr = ip_hdr(skb)->saddr;\n" @@ -311,7 +312,7 @@ " \t\t\t\treturn 0;\n" " \t\t\t}\n" " \t\t\trcu_read_unlock();\n" - "-\t\t} else if (type = IPV6_ADDR_MAPPED) {\n" + "-\t\t} else if (type == IPV6_ADDR_MAPPED) {\n" "-\t\t\tif (!opt->v4mapped)\n" "-\t\t\t\treturn 0;\n" " \t\t}\n" @@ -537,7 +538,7 @@ "@@ -289,8 +289,8 @@ void sctp_transport_route(struct sctp_transport *transport,\n" " \t\t */\n" " \t\tif (asoc && (!asoc->peer.primary_path ||\n" - " \t\t\t\t(transport = asoc->peer.active_path)))\n" + " \t\t\t\t(transport == asoc->peer.active_path)))\n" "-\t\t\topt->pf->af->to_sk_saddr(&transport->saddr,\n" "-\t\t\t\t\t\t asoc->base.sk);\n" "+\t\t\topt->pf->to_sk_saddr(&transport->saddr,\n" @@ -561,4 +562,4 @@ "-- \n" 1.9.1 -56b92c20fd961b0cb748b01db5ccbbe55ea3e6cd790a1c635aec99a0083fe3ce +6545d536d17b3f7cecfc32dca66ea5f33a62d7a1b5614954e09a9e3a831cf0aa
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.