From ed5d01b714c6b4ac23fecbe75aa7af702eb4a1e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= Date: Mon, 7 Nov 2011 14:57:22 +0000 Subject: [PATCH] --- yaml --- r: 277499 b: refs/heads/master c: 2563fa595447bba6a73e6c58c4bbf11ac0f28931 h: refs/heads/master i: 277497: 636235c98aec373a3b98874042dda8b01470fd01 277495: 1999558b34c0d375a0e76c77c336c577e7e7099d v: v3 --- [refs] | 2 +- trunk/net/ipv6/datagram.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index cfe95b60db76..b9ab11f5be19 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f74024d9f05caa570dcf7582b498bbf011943491 +refs/heads/master: 2563fa595447bba6a73e6c58c4bbf11ac0f28931 diff --git a/trunk/net/ipv6/datagram.c b/trunk/net/ipv6/datagram.c index e2480691c220..83037af4fa7b 100644 --- a/trunk/net/ipv6/datagram.c +++ b/trunk/net/ipv6/datagram.c @@ -654,7 +654,7 @@ int datagram_send_ctl(struct net *net, struct sock *sk, if (addr_type != IPV6_ADDR_ANY) { int strict = __ipv6_addr_src_scope(addr_type) <= IPV6_ADDR_SCOPE_LINKLOCAL; - if (!inet_sk(sk)->transparent && + if (!(inet_sk(sk)->freebind || inet_sk(sk)->transparent) && !ipv6_chk_addr(net, &src_info->ipi6_addr, strict ? dev : NULL, 0)) err = -EINVAL;