Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp4555687imu; Tue, 29 Jan 2019 03:44:02 -0800 (PST) X-Google-Smtp-Source: ALg8bN4CHC4lN2M/Oseyt12H6bE+898+EmaoqCVz9YYHRRnT5BHIz1UrNC/JibjudotyQZatmH/S X-Received: by 2002:a63:eb0e:: with SMTP id t14mr23598907pgh.445.1548762242588; Tue, 29 Jan 2019 03:44:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548762242; cv=none; d=google.com; s=arc-20160816; b=LEMUKwhsU+uqZNS3gsptR8Klw4VGdmjAG8zbNdU5B7ff0r5Ihet81lpIqk0J4yE9th 1wpF0B53ox6BF3gM+pOpls62KLHG/KDVmIV++R9tOZErR28YetQMdwjrpaL0/qq+z5+5 au26eeF8zW3kzHuWY0qSLrjZ7EmESb6z401hqYNWwq4N3KIz8MG+VtdqFBnydbgok2qS o0Mnhoz1Gx/KlCb5vdHy9FBg61gh3aoAO02AKJACVmZHC+JgPrBz+ruyqj6zn12km50F gRwem0jYKsSV56YbGvfghBe9KVll0VoCj78jCf5rQ2zepL222xYyZIpczm9lw8JUwt+8 OtNQ== 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=9fCm9h+ABy8KpqGbAA/ERGMKdNpuyFYDC/GgRuX0n+8=; b=BDU4bO7lAmxZicrnZHQzGUVDmV89owTFX0wDb2cu5dNZDn8IvXP8mBIKjw4HPDKx/C N+KGN+0/dGFwMyrql91oBgsj52aFGW+a3cDorMQ7S8Cug/N8RyXJ1yVVL856LGy9dyYL /T0p7RSr23lBb53DqVgxpTVq9jDOmHqytSy9RidTKE8r+lJwud8ehhkDG4TgGhomPyW8 ZQHjVZioLqodXswVa0zfPRFzUupwY1kgbOnvkDRxxNNvvf1qOTIK5c9ZIeW6pOqAzdMu weZ341fa28Kjilfni62p260qQHtaHzRJ9SNeatoMjsgZmgy+bcEr6kkXJ7j7JvGphwqu Qj2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=H2CFrbhX; 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 cf16si36451618plb.227.2019.01.29.03.43.47; Tue, 29 Jan 2019 03:44:02 -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=H2CFrbhX; 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 S1730181AbfA2Lm6 (ORCPT + 99 others); Tue, 29 Jan 2019 06:42:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:60894 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730175AbfA2Lmz (ORCPT ); Tue, 29 Jan 2019 06:42:55 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 9269920882; Tue, 29 Jan 2019 11:42:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1548762175; bh=42J/99SVuDqKsV66IetOZvYNuxdiWIGfiZQLWUiDuto=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=H2CFrbhXHyuUfRJiwrIrmuj176CACg+0NJ/FflMJCz97Ck6B0BV50817yM5lcc2wz bMCle2f68H++H+1+jZAS8UIJYGiZRMvpmm4WJRe4K20fgKaanVIRzieRApITORMNjA YFeLrxMigCGMO1VHhMr7C1xHruK5RAmXBiqYAZN4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Petr Machata , Olivier Matz , Nicolas Dichtel , "David S. Miller" Subject: [PATCH 4.19 017/103] ip6_gre: fix tunnel list corruption for x-netns Date: Tue, 29 Jan 2019 12:34:54 +0100 Message-Id: <20190129113200.562328418@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190129113159.567154026@linuxfoundation.org> References: <20190129113159.567154026@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Olivier Matz [ Upstream commit ab5098fa25b91cb6fe0a0676f17abb64f2bbf024 ] In changelink ops, the ip6gre_net pointer is retrieved from dev_net(dev), which is wrong in case of x-netns. Thus, the tunnel is not unlinked from its current list and is relinked into another net namespace. This corrupts the tunnel lists and can later trigger a kernel oops. Fix this by retrieving the netns from device private area. Fixes: c8632fc30bb0 ("net: ip6_gre: Split up ip6gre_changelink()") Cc: Petr Machata Signed-off-by: Olivier Matz Acked-by: Nicolas Dichtel Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/ipv6/ip6_gre.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c @@ -2047,9 +2047,9 @@ static int ip6gre_changelink(struct net_ struct nlattr *data[], struct netlink_ext_ack *extack) { - struct ip6gre_net *ign = net_generic(dev_net(dev), ip6gre_net_id); + struct ip6_tnl *t = netdev_priv(dev); + struct ip6gre_net *ign = net_generic(t->net, ip6gre_net_id); struct __ip6_tnl_parm p; - struct ip6_tnl *t; t = ip6gre_changelink_common(dev, tb, data, &p, extack); if (IS_ERR(t))