From patchwork Mon Dec 25 07:57:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 852775 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="haaK6OmZ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z4s265XM3z9ryr for ; Mon, 25 Dec 2017 18:58:54 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750857AbdLYH5j (ORCPT ); Mon, 25 Dec 2017 02:57:39 -0500 Received: from mail-wr0-f193.google.com ([209.85.128.193]:33749 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750806AbdLYH5h (ORCPT ); Mon, 25 Dec 2017 02:57:37 -0500 Received: by mail-wr0-f193.google.com with SMTP id v21so21887385wrc.0 for ; Sun, 24 Dec 2017 23:57:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=i36W8ZSFuA4JchAUGGDCisj2N05Pf/tFNl4uSVGZ9YQ=; b=haaK6OmZu9v7HktFXe8Wc1Q/mEfDQ0LD4WHwnOPnvK9w6asQkqfTl0PX93giTH2XCb CEPmo8jR4iQCDiTo+KoHT5/XiuI/0Pu2esVYA8AYdDZuRlE/TCPpmeuZ4AUSXXC7YZpM /52dCVLLIqpvqTXmBTGqWoaYYHmOwlgvEesg0EjCDA1sB7PBccFbJasRgyGiLa/sixO4 3JvzK9OZkrkXfPsarv3W8Yp7yzp6uVM2cfX+l7GVhvt3l8DybCFFyECex/e8eXqn9/Fs Gqz1QhUyp0EO7xpkUXhgQAje8m6sFI1uQNGzIn5yu5KMK1ZqjFywpqz6dlbAvH11H5Ve UuyQ== 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; bh=i36W8ZSFuA4JchAUGGDCisj2N05Pf/tFNl4uSVGZ9YQ=; b=g1ij2WPutjTtX/hOAsTZ8L1QaR5mewButJXDL7C8fS/H36LSMBHvTNk0h4JTjZbx/R /CFpCeq0Wk6kkyEQiLiqgoPNXnlf0hsiouPgHM64X0bIMU/DxooViYE+Zl4XLs7M9A0n dYc6dLqrSlicuPdfoYZFcDNG9Ar5uHNXl4lCyxte25KkseXSLIJqW4eF1gmNuPIn099x X0l1+mPhJ2CiUOLJCZfgIWLtYX2GF+0TwKZMNAYnV3zl6Ja9oJsT/oC2cJXqKAtKAVaq XV6Z33aDR76+74CKJG9ymVwTJC9KFFJAENK+Lkh4mczVlaxMG8DtILtgCATI4R40+1lO lyWQ== X-Gm-Message-State: AKGB3mK8Z4fXJgwKRiFgB1OhJHxE+l+NbSE+gxeSaJGcE62T+NNgXvOQ KTY71K07Cug3aytUOBMoYOvOnLRZ X-Google-Smtp-Source: ACJfBovFje2w5oo+zT4bdcDusZcpIjQ9iWte3wc7DKnogNOFxJwqVUIU/8oMaVbhIhk7G5ZpNROtAg== X-Received: by 10.223.189.13 with SMTP id j13mr21106661wrh.168.1514188656626; Sun, 24 Dec 2017 23:57:36 -0800 (PST) Received: from localhost (jirka.pirko.cz. [84.16.102.26]) by smtp.gmail.com with ESMTPSA id 53sm6323705wrv.20.2017.12.24.23.57.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 24 Dec 2017 23:57:36 -0800 (PST) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, idosch@mellanox.com, mlxsw@mellanox.com Subject: [patch net] mlxsw: spectrum_router: Fix NULL pointer deref Date: Mon, 25 Dec 2017 08:57:35 +0100 Message-Id: <20171225075735.2058-1-jiri@resnulli.us> X-Mailer: git-send-email 2.9.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Ido Schimmel When we remove the neighbour associated with a nexthop we should always refuse to write the nexthop to the adjacency table. Regardless if it is already present in the table or not. Otherwise, we risk dereferencing the NULL pointer that was set instead of the neighbour. Fixes: a7ff87acd995 ("mlxsw: spectrum_router: Implement next-hop routing") Signed-off-by: Ido Schimmel Reported-by: Alexander Petrovskiy Signed-off-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c index be657b8..434b392 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c @@ -3228,7 +3228,7 @@ static void __mlxsw_sp_nexthop_neigh_update(struct mlxsw_sp_nexthop *nh, { if (!removing) nh->should_offload = 1; - else if (nh->offloaded) + else nh->should_offload = 0; nh->update = 1; }