Received: by 2002:a17:90a:9307:0:0:0:0 with SMTP id p7csp3945895pjo; Tue, 3 Mar 2020 09:53:47 -0800 (PST) X-Google-Smtp-Source: ADFU+vtLnZfv33MZZcrxfG5gItKSQhDEZQYPO8cHZ8iL8f0HkyrmxLIOgAJn/wpjkYj9QcvEUTC6 X-Received: by 2002:a9d:178:: with SMTP id 111mr3879976otu.238.1583258027554; Tue, 03 Mar 2020 09:53:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583258027; cv=none; d=google.com; s=arc-20160816; b=eVfFEpWL+SpUH+KhLaiG/5p+r+b/PuX4QVPB/BAi/5Jf7yDAmx9LUd2Eod3ZFyBYl1 5XpK++lZ6hYV15MosQkTghb78ILWrtQrO+wsLjwiQo6BrvsMamqUkjUkgD9r6PaOw2/x JnEU7sgu8EaJEdJ6uIrQhcZ/zW1qN/1oLp/s6hPo44uYT9ZkT8PCVzfY2IWKxJN5hb/M VmMAs3Xa+sxle+jHEb0KjOgVl4WQ7vtKDKYAwmretk/nHTYVLss5Om4k6R2T0iz2XLFw YkffpedspNxkVcrg6ypQ0LyIPPZu7EbLgAv6H2kXO8/8NBt27AbqIeHc4ftqkAMJi8bR KUxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=+5qTT9n6mntMrbKloGfSS8sLqEUDOvZDagHkVeZTOl0=; b=NHK3KaYQnN5MGcMv+Sui07ZE3wwQCwyRAGI/NvR2EhqcwCuILTgRldO9S7g+uaO2mn wzzzZNzZlziJfSFA3fvJE3xT5IZ0pygJElX1QarOpIFAIsaOS4kwa34XtpI1YLUeLjiR 02XJYyvJGiFxUbIXI0vLeJGmLdBJEudGuSyynYu8dAbSgcknoSfaxJRHqa0E8jxc/jVA Xh8Zuu8ShlmPpel+K1xNt0s7A/yJs3qd4KFP7pLO3rFfqNxCckbUrl3dZ8sykshqboco LCYbWvEnA7yVsTsfl7wDC2gP/rwlkDT/vxO64ItruiGnQyFJpsXaa0e+8xuZZS5l5Io6 uOrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=KA3jEvys; 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 j9si8377221oiw.133.2020.03.03.09.53.35; Tue, 03 Mar 2020 09:53:47 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=KA3jEvys; 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 S1731333AbgCCRwv (ORCPT + 99 others); Tue, 3 Mar 2020 12:52:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:33174 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730142AbgCCRwt (ORCPT ); Tue, 3 Mar 2020 12:52:49 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5333B21739; Tue, 3 Mar 2020 17:52:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583257967; bh=pksQzQrc2MQjwThxrNUTZcxbQzloIIfnOaEIB9Dr76w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KA3jEvyspSOS6GXQEMieerM7dD2fbDFXTW1MWQGvPm0BWsLtZUkJELxo94IdTNEHd rtcfQJfBNJU1ErIUUCgFfETll1OmGVTIqtNzq8nUTj0/gghy9riHxWc3KjTsFpwtpN mcOG5q9CY4Rg8F3Me0Sqe2nbjUPnwEKPaSbA3a2I= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Benjamin Poirier , Michal Kubecek , David Ahern , "David S. Miller" Subject: [PATCH 5.4 021/152] ipv6: Fix nlmsg_flags when splitting a multipath route Date: Tue, 3 Mar 2020 18:41:59 +0100 Message-Id: <20200303174304.880495781@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200303174302.523080016@linuxfoundation.org> References: <20200303174302.523080016@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Benjamin Poirier [ Upstream commit afecdb376bd81d7e16578f0cfe82a1aec7ae18f3 ] When splitting an RTA_MULTIPATH request into multiple routes and adding the second and later components, we must not simply remove NLM_F_REPLACE but instead replace it by NLM_F_CREATE. Otherwise, it may look like the netlink message was malformed. For example, ip route add 2001:db8::1/128 dev dummy0 ip route change 2001:db8::1/128 nexthop via fe80::30:1 dev dummy0 \ nexthop via fe80::30:2 dev dummy0 results in the following warnings: [ 1035.057019] IPv6: RTM_NEWROUTE with no NLM_F_CREATE or NLM_F_REPLACE [ 1035.057517] IPv6: NLM_F_CREATE should be set when creating new route This patch makes the nlmsg sequence look equivalent for __ip6_ins_rt() to what it would get if the multipath route had been added in multiple netlink operations: ip route add 2001:db8::1/128 dev dummy0 ip route change 2001:db8::1/128 nexthop via fe80::30:1 dev dummy0 ip route append 2001:db8::1/128 nexthop via fe80::30:2 dev dummy0 Fixes: 27596472473a ("ipv6: fix ECMP route replacement") Signed-off-by: Benjamin Poirier Reviewed-by: Michal Kubecek Reviewed-by: David Ahern Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/ipv6/route.c | 1 + 1 file changed, 1 insertion(+) --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -5155,6 +5155,7 @@ static int ip6_route_multipath_add(struc */ cfg->fc_nlinfo.nlh->nlmsg_flags &= ~(NLM_F_EXCL | NLM_F_REPLACE); + cfg->fc_nlinfo.nlh->nlmsg_flags |= NLM_F_CREATE; nhn++; }