Received: by 10.192.165.156 with SMTP id m28csp1067124imm; Wed, 11 Apr 2018 11:49:00 -0700 (PDT) X-Google-Smtp-Source: AIpwx48uw0iLR2VGwmDpXR6ATtX8Nwog6QRNLVczoSyDg3kqnrVBv432GjSSCNfNk635utm7BPGY X-Received: by 10.101.92.199 with SMTP id b7mr4260130pgt.138.1523472540853; Wed, 11 Apr 2018 11:49:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523472540; cv=none; d=google.com; s=arc-20160816; b=adgDSt6supwiN7josXFa+Ai0RVU2TDnP5nAumxeYrZH1nu91PdPloFCztXp5eliKRm GuZDEqh+MvWkHSi9aanbsZ+VaOUcXlLYCsgVZXbrBNZ/bBoRkI+PMkrluKTU1Nd3MwtW 7rpdU8Gm04cxo3izyUDxG8VsWIumJXNlnGowsCcZm0EauhART6+8eMEy0FNOu0EvUhuO +UCA8yKoFrOuOLZ/+HbOQxlF6EK6H/eL/AwDeOuKvAgCT6GB6aHxvgAA410uCRZ7INU4 vv1IDQbMtL8/SmrsPJuYIu8eb5nkxAOyE50xvkqd6W7jFoZJY92H4B+zRtVKk5eDL6V4 QJ0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=OTw8g0f7f8NleD8/nglhc6QAXVpkp7yLJWzA1FQ7mA0=; b=0//TnYkgm0QKi5fkWl1qvoR48Cz/fOcxOcD0U/xKPLBu5ypQqVQga7jmcgY84OebXF QH5kOaj6IUczUMA+c7tjFeF2V+lI7b5U5PnY+oXCT1Shbm71OOglAdNqoOu5yozaPEzj Z/YCafvOVEtSJeC5Lk1LyLLe5AeqVusq04Dy24e2B6/yjJhtA9fBsk6rCCoMN3tokYfh MJwIsWydPxpd44/sr1xQJat47MpFa4R65FWK3EstCWXoeRm523clVaeVAriP5dxqa1sF I33Ztmg01VVWA87bFDw4kHTh4yywNv183lNxjzG8LkYhCReBeuTySOzoRW5Re9l9xJEu J9gQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 4-v6si1672950plb.205.2018.04.11.11.48.24; Wed, 11 Apr 2018 11:49:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932282AbeDKSo7 (ORCPT + 99 others); Wed, 11 Apr 2018 14:44:59 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:58426 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932269AbeDKSo4 (ORCPT ); Wed, 11 Apr 2018 14:44:56 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 4C2A9A59; Wed, 11 Apr 2018 18:44:55 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mahesh Bandewar , David Ahern , "David S. Miller" , Sasha Levin Subject: [PATCH 4.4 036/190] ipv6: avoid dad-failures for addresses with NODAD Date: Wed, 11 Apr 2018 20:34:42 +0200 Message-Id: <20180411183552.283081443@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180411183550.114495991@linuxfoundation.org> References: <20180411183550.114495991@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Mahesh Bandewar [ Upstream commit 66eb9f86e50547ec2a8ff7a75997066a74ef584b ] Every address gets added with TENTATIVE flag even for the addresses with IFA_F_NODAD flag and dad-work is scheduled for them. During this DAD process we realize it's an address with NODAD and complete the process without sending any probe. However the TENTATIVE flags stays on the address for sometime enough to cause misinterpretation when we receive a NS. While processing NS, if the address has TENTATIVE flag, we mark it DADFAILED and endup with an address that was originally configured as NODAD with DADFAILED. We can't avoid scheduling dad_work for addresses with NODAD but we can avoid adding TENTATIVE flag to avoid this racy situation. Signed-off-by: Mahesh Bandewar Acked-by: David Ahern Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- net/ipv6/addrconf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -957,7 +957,10 @@ ipv6_add_addr(struct inet6_dev *idev, co INIT_HLIST_NODE(&ifa->addr_lst); ifa->scope = scope; ifa->prefix_len = pfxlen; - ifa->flags = flags | IFA_F_TENTATIVE; + ifa->flags = flags; + /* No need to add the TENTATIVE flag for addresses with NODAD */ + if (!(flags & IFA_F_NODAD)) + ifa->flags |= IFA_F_TENTATIVE; ifa->valid_lft = valid_lft; ifa->prefered_lft = prefered_lft; ifa->cstamp = ifa->tstamp = jiffies;