From: Ido Schimmel <ido...@mellanox.com> 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 <ido...@mellanox.com> --- 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)) { -- 2.7.4