From patchwork Thu Oct 9 15:04:23 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michele Dionisio X-Patchwork-Id: 398068 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 91D6E1400AA for ; Fri, 10 Oct 2014 02:06:09 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757382AbaJIPFN (ORCPT ); Thu, 9 Oct 2014 11:05:13 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:35013 "EHLO mail-wg0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757243AbaJIPE4 (ORCPT ); Thu, 9 Oct 2014 11:04:56 -0400 Received: by mail-wg0-f49.google.com with SMTP id x12so1543328wgg.20 for ; Thu, 09 Oct 2014 08:04:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=5yuJ9qlWiTPDLkbv+ehD227NKwEwi3hJ2wMQmG94LuQ=; b=er8y0RTRmL8mgyd+wKvM6QnRomyqsqmeQT54HZ24ho9XJBWSdKmlJjLDHpjEjBYHk0 u6UGsGT0kPOMDbbNJ/Zj4DiO+NPyRPcoyy3S0X7N93DHNTQEAoCNj1XsBXZLXT8uaWNx M94oudUf5Wd0qxgaGAZJKjhNF9M4DnFN+YresBVzHHTXbEbXHSitjZ/dwWFtB5Ew7gYc 82HmgqEDqiqeQGWjeaDhl9kJcRsDJYLmQsuCDRcwdQFZIE4vJnMp21Ru1beUp2QRlZzH CHeUgz2XePwnoWBbUTbgkLSWP7j6RZS+zbzlBDrd4/lVg7JWI5XMDuTdb8NBy3brHunH wiYg== X-Received: by 10.180.102.41 with SMTP id fl9mr4855604wib.52.1412867093816; Thu, 09 Oct 2014 08:04:53 -0700 (PDT) Received: from localhost.localdomain (static-217-133-115-154.clienti.tiscali.it. [217.133.115.154]) by mx.google.com with ESMTPSA id q5sm13706762wiy.16.2014.10.09.08.04.52 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 09 Oct 2014 08:04:53 -0700 (PDT) From: michele.dionisio@gmail.com To: netdev@vger.kernel.org, yoshfuji@linux-ipv6.org Cc: Michele Dionisio Subject: [PATCH] ipv6: make ipv6 bind honour non local bind as IPV4 Date: Thu, 9 Oct 2014 17:04:23 +0200 Message-Id: <1412867063-28433-2-git-send-email-michele.dionisio@gmail.com> X-Mailer: git-send-email 2.1.1 In-Reply-To: <1412867063-28433-1-git-send-email-michele.dionisio@gmail.com> References: <1412867063-28433-1-git-send-email-michele.dionisio@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Michele Dionisio --- net/ipv6/af_inet6.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 2daa3a1..e8ca2e6 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c @@ -342,7 +342,8 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) */ v4addr = LOOPBACK4_IPV6; if (!(addr_type & IPV6_ADDR_MULTICAST)) { - if (!(inet->freebind || inet->transparent) && + if (!sysctl_ip_nonlocal_bind && + !(inet->freebind || inet->transparent) && !ipv6_chk_addr(net, &addr->sin6_addr, dev, 0)) { err = -EADDRNOTAVAIL;