X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=net%2Fdccp%2Fipv6.c;h=2be5c69824f94423e2f90b97938dd623a4fea9c7;hb=17860ccabff533748c85ea32904abd6bae990099;hp=1f73603913f5aeacdcb2554ed695e51262c0b2ba;hpb=61bb17da44a0b6d079e68872e3569bb3eda17656;p=linux-2.6-microblaze.git diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 1f73603913f5..2be5c69824f9 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c @@ -319,6 +319,11 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb) if (!ipv6_unicast_destination(skb)) return 0; /* discard, don't send a reset here */ + if (ipv6_addr_v4mapped(&ipv6_hdr(skb)->saddr)) { + __IP6_INC_STATS(sock_net(sk), NULL, IPSTATS_MIB_INHDRERRORS); + return 0; + } + if (dccp_bad_service_code(sk, service)) { dcb->dccpd_reset_code = DCCP_RESET_CODE_BAD_SERVICE_CODE; goto drop;