From patchwork Fri Dec 16 08:30:59 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Mantas_Mikul=C4=97nas?= X-Patchwork-Id: 706369 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 3tg4gx6q4Jz9sCM for ; Fri, 16 Dec 2016 20:26:37 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qgZc9NkG"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760339AbcLPJ0V (ORCPT ); Fri, 16 Dec 2016 04:26:21 -0500 Received: from mail-wj0-f193.google.com ([209.85.210.193]:32882 "EHLO mail-wj0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760300AbcLPJ0F (ORCPT ); Fri, 16 Dec 2016 04:26:05 -0500 Received: by mail-wj0-f193.google.com with SMTP id kp2so13515155wjc.0 for ; Fri, 16 Dec 2016 01:26:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fJQlXuXoOgRmicI2KncVjxvg5DbIXgHsup+WtoNlmns=; b=qgZc9NkGw91vyrjOqoqKz5slegEH/wIos0A23w5FF0aGqa9mAsyBNr1Rcd9R+eZFrk fQGwxJgqkFsJRSJBhINIHRtzTrubukyeaA8Wkqq/vvSFtGW4wUwXKhRq5khE/IT1AV3L mNjeR14H4xhP3uipMXXdC1/qxku1DHlW2jNE4UmvFEhlVdU8qNN8pps90spAwF0qSjIr jns9uz+kKQZwxvwsxrPrbUxf9iU/RHTYf9Cmyyjb1UyUR2GIUYeCrnutnftw3ujqdTz8 JkRwPKyrOBkrthuqn4+2uiNsD9jgAMCMxLsLXDNDWbbPKESxkhoz/SvrgI7famr/89Fy g5/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fJQlXuXoOgRmicI2KncVjxvg5DbIXgHsup+WtoNlmns=; b=ZqqDU8XLP72S5xjamnYrk0rnFVAXPGjUHCQF/c3W9sVQ2Tt+LPzdfLCpkkRcjo8COo DEOFNHjxMETNQ1q9hlQhdl17mObKoS4FtCLOfKo/IQSoA4e5sQdpBnkd7zBLiyomkyRo 28CSt8LYE2veGOG1I1Tq39A7kQ/v5FvBnpRz8B5bySXRVkXqrUmPSHNPy3jNnp7gS02X M0NFmg+ZWDG/Nqa6awjV+/DP3HbL2Gd3uvk3WP/jO2AVVkVNS9AKhSOeH1xEpwSD8CMo wbewnYnwjwz7mXFL+RWRRZ/qktxbok/utJdb2GavRqgPbaeP97uH3iNxDlXFqVQ0p9M9 E1jw== X-Gm-Message-State: AKaTC00cTd88jZbKO/EKy7gxeYB0pQs/aC1XaILzrHFrnMuxmoxeboL0qd5Lr3uzkOFA6g== X-Received: by 10.194.77.83 with SMTP id q19mr1562252wjw.186.1481877063414; Fri, 16 Dec 2016 00:31:03 -0800 (PST) Received: from localhost (sky.nullroute.eu.org. [31.220.42.129]) by smtp.gmail.com with ESMTPSA id c81sm2225420wmf.22.2016.12.16.00.31.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 16 Dec 2016 00:31:02 -0800 (PST) From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net Cc: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= Subject: [PATCH] net: ipv6: check route protocol when deleting routes Date: Fri, 16 Dec 2016 10:30:59 +0200 Message-Id: <20161216083059.251368-1-grawity@gmail.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The protocol field is checked when deleting IPv4 routes, but ignored for IPv6, which causes problems with routing daemons accidentally deleting externally set routes (observed by multiple bird6 users). This can be verified using `ip -6 route del proto something`. Signed-off-by: Mantas Mikulėnas --- net/ipv6/route.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 947ed1ded026..ef6de8f9e5a2 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2163,6 +2163,8 @@ static int ip6_route_del(struct fib6_config *cfg) continue; if (cfg->fc_metric && cfg->fc_metric != rt->rt6i_metric) continue; + if (cfg->fc_protocol && cfg->fc_protocol != rt->rt6i_protocol) + continue; dst_hold(&rt->dst); read_unlock_bh(&table->tb6_lock);