From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752238AbbKXASj (ORCPT ); Mon, 23 Nov 2015 19:18:39 -0500 Received: from ozlabs.org ([103.22.144.67]:54284 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751831AbbKXASh (ORCPT ); Mon, 23 Nov 2015 19:18:37 -0500 Date: Tue, 24 Nov 2015 11:18:35 +1100 From: Stephen Rothwell To: David Miller , Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org, Nikolay Aleksandrov Subject: linux-next: manual merge of the net-next tree with the net tree Message-ID: <20151124111835.0f5f0328@canb.auug.org.au> X-Mailer: Claws Mail 3.13.0 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, Today's linux-next merge of the net-next tree got a conflict in: net/ipv4/ipmr.c between commit: 0e615e9601a1 ("net: ipmr: fix static mfc/dev leaks on table destruction") from the net tree and commit: 7ef8f65df976 ("net: ipmr: fix code and comment style") from the net-next tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@canb.auug.org.au diff --cc net/ipv4/ipmr.c index 292123bc30fa,a2d248d9c35c..000000000000 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@@ -1204,30 -1210,24 +1210,25 @@@ static int ipmr_mfc_add(struct net *net return 0; } - /* - * Close the multicast socket, and clear the vif tables etc - */ - + /* Close the multicast socket, and clear the vif tables etc */ -static void mroute_clean_tables(struct mr_table *mrt) +static void mroute_clean_tables(struct mr_table *mrt, bool all) { int i; LIST_HEAD(list); struct mfc_cache *c, *next; /* Shut down all active vif entries */ - for (i = 0; i < mrt->maxvif; i++) { - if (!(mrt->vif_table[i].flags & VIFF_STATIC)) - vif_delete(mrt, i, 0, &list); + if (!all && (mrt->vif_table[i].flags & VIFF_STATIC)) + continue; + vif_delete(mrt, i, 0, &list); } unregister_netdevice_many(&list); /* Wipe the cache */ - for (i = 0; i < MFC_LINES; i++) { list_for_each_entry_safe(c, next, &mrt->mfc_cache_array[i], list) { - if (c->mfc_flags & MFC_STATIC) + if (!all && (c->mfc_flags & MFC_STATIC)) continue; list_del_rcu(&c->list); mroute_netlink_event(mrt, c, RTM_DELROUTE);