From patchwork Tue Mar 28 22:19:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 744552 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 3vt51x339Tz9s3s for ; Wed, 29 Mar 2017 09:20:37 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cumulusnetworks.com header.i=@cumulusnetworks.com header.b="V0vNCSkh"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753871AbdC1WUa (ORCPT ); Tue, 28 Mar 2017 18:20:30 -0400 Received: from mail-it0-f42.google.com ([209.85.214.42]:36885 "EHLO mail-it0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752323AbdC1WU3 (ORCPT ); Tue, 28 Mar 2017 18:20:29 -0400 Received: by mail-it0-f42.google.com with SMTP id 190so36374303itm.0 for ; Tue, 28 Mar 2017 15:20:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cumulusnetworks.com; s=google; h=from:to:cc:subject:date:message-id; bh=JKVTy9V0/DD02VcJcErWgYqgj3h5abjFJyJtgoFKXUY=; b=V0vNCSkhk5HxJWQUO4wa49cb0J4lVvr5H6lPmr6/+RzJao3EH17gF3sNxxjVVVDqhM AIfgwD9znWK2GEjM/W3pn2NOrJY565KfWTyMgV/ALLHePYRKq52RV8p+1JAmEKl0IG0r oG4I1D5mJg8t74+rAWHELGDTxZ1Yhi2sov3n8= 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=JKVTy9V0/DD02VcJcErWgYqgj3h5abjFJyJtgoFKXUY=; b=Mpz+hn3ZHFujFVmQv0OGqkKUFUc93lDEqPLzjdKR+bByM8ir9V7KpaE/SrnJrl7Q2G pDrwlwUPtRcyQGCuCd5jlmJ8P91/1ZwJtiNwC8L29xCFnG4hWNUcb7r1Je5OwwU6CbYt 1YhiwZce4dM8TDqZycb5a+t2RWUDUlGbyUlVrX7u1H8MI77UsESZUDiRBhjaNF784TyN YNVlWHgM/aB7VDm4hni/YPswRWFzD706f8nOuJ3kqI2CbI+zfCI+pE4wN60aAhCp8rTm YekGahMK8GixUVkeID6+zFwyJ2eIpPbE1Tr/nYRzDg3VO4qnglvwl6J17javn7PjtmNt mNvg== X-Gm-Message-State: AFeK/H26Ais742v9WXdsJjIPT03xBCMbk4oUJwhDymuXIKkicvDu+Fy32qlGYtbM9Kqi35wQ X-Received: by 10.36.124.139 with SMTP id a133mr19245736itd.84.1490739594638; Tue, 28 Mar 2017 15:19:54 -0700 (PDT) Received: from kenny.it.cumulusnetworks.com. ([216.129.126.126]) by smtp.googlemail.com with ESMTPSA id a128sm2240227itg.22.2017.03.28.15.19.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 28 Mar 2017 15:19:54 -0700 (PDT) From: David Ahern To: netdev@vger.kernel.org Cc: roopa@cumulusnetworks.com, David Ahern Subject: [PATCH net-next] net: mpls: Update lfib_nlmsg_size to skip deleted nexthops Date: Tue, 28 Mar 2017 15:19:49 -0700 Message-Id: <1490739589-3039-1-git-send-email-dsa@cumulusnetworks.com> X-Mailer: git-send-email 2.1.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org A recent commit skips nexthops in a route if the device has been deleted. Update lfib_nlmsg_size accordingly. Reported-by: Roopa Prabhu Signed-off-by: David Ahern Acked-by: Roopa Prabhu Acked-by: Robert Shearman --- net/mpls/af_mpls.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index 74755920c689..0d08229c98c9 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af_mpls.c @@ -1876,6 +1876,8 @@ static inline size_t lfib_nlmsg_size(struct mpls_route *rt) size_t nhsize = 0; for_nexthops(rt) { + if (!rtnl_dereference(nh->nh_dev)) + continue; nhsize += nla_total_size(sizeof(struct rtnexthop)); /* RTA_VIA */ if (nh->nh_via_table != MPLS_NEIGH_TABLE_UNSPEC)