From patchwork Wed Oct 26 06:39:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ido Schimmel X-Patchwork-Id: 686882 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 3t3gPg2G1Nz9t0t for ; Wed, 26 Oct 2016 17:40:23 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b=IOeLEEbT; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752718AbcJZGkT (ORCPT ); Wed, 26 Oct 2016 02:40:19 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:41919 "EHLO out2-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751792AbcJZGkS (ORCPT ); Wed, 26 Oct 2016 02:40:18 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 66173204A2; Wed, 26 Oct 2016 02:40:17 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute2.internal (MEProxy); Wed, 26 Oct 2016 02:40:17 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=smtpout; bh=4N xvssu1iKOf3K/d9Iq0Kvxe3iI=; b=IOeLEEbTb5QhuEM7gUaBc6a74f5+hDb84U Gp+2bkq2HMj4jCF1YzzO+FDSKkvgkEM9y57TcI8ZiJdMWGdPha+wcNYRF+TWqPnR +pE21xSFSpq95q1Tqlee8SFtGc5QxMKR72MOmBeBr2mRnhhYKLbp6POcFn4Fl337 w7cz6m1bQ= X-ME-Sender: X-Sasl-enc: Yaf5mvyIYUPfN0iy+gjKNWJTI6U4p0iYsEGUu+gQrFnt 1477464016 Received: from splinter.mtl.com (unknown [193.47.165.251]) by mail.messagingengine.com (Postfix) with ESMTPA id 4852DCCF2E; Wed, 26 Oct 2016 02:40:16 -0400 (EDT) From: idosch@idosch.org To: davem@davemloft.net Cc: netdev@vger.kernel.org, mlxsw@mellanox.com, dsa@cumulusnetworks.com, Ido Schimmel Subject: [PATCH net-next] net: core: Traverse the adjacency list from first entry Date: Wed, 26 Oct 2016 09:39:22 +0300 Message-Id: <1477463962-2802-1-git-send-email-idosch@idosch.org> X-Mailer: git-send-email 2.7.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Ido Schimmel netdev_next_lower_dev() returns NULL when we finished traversing the adjacency list ('iter' points to the list's head). Therefore, we must start traversing the list from the first entry and not its head. Fixes: 1a3f060c1a47 ("net: Introduce new api for walking upper and lower devices") Signed-off-by: Ido Schimmel --- net/core/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c index f55fb45..d9c937f 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -5419,7 +5419,7 @@ int netdev_walk_all_lower_dev(struct net_device *dev, struct list_head *iter; int ret; - for (iter = &dev->adj_list.lower, + for (iter = dev->adj_list.lower.next, ldev = netdev_next_lower_dev(dev, &iter); ldev; ldev = netdev_next_lower_dev(dev, &iter)) {