From patchwork Sun Nov 5 09:58:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834285 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB3s3JwQz9t34 for ; Sun, 5 Nov 2017 20:59:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751905AbdKEJ67 (ORCPT ); Sun, 5 Nov 2017 04:58:59 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:33840 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751530AbdKEJ66 (ORCPT ); Sun, 5 Nov 2017 04:58:58 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA59wv1H028599 for ; Sun, 5 Nov 2017 12:58:57 +0300 (MSK) From: Vasily Averin Subject: [PATCH 01/21] exit_net cleanup: geneve sock_list check To: netdev@vger.kernel.org Message-ID: <592dda6c-b4dc-0b32-33b9-50067c7d0617@virtuozzo.com> Date: Sun, 5 Nov 2017 12:58:57 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that sock_list initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- drivers/net/geneve.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index f640407..e808870 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -1673,6 +1673,8 @@ static void __net_exit geneve_exit_net(struct net *net) /* unregister the devices gathered above */ unregister_netdevice_many(&list); rtnl_unlock(); + WARN(!list_empty(&gn->sock_list), + "net %p exit: geneve sock_list is not empty\n", net); } static struct pernet_operations geneve_net_ops = { From patchwork Sun Nov 5 09:59:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834286 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB4R2lXsz9t38 for ; Sun, 5 Nov 2017 20:59:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752263AbdKEJ71 (ORCPT ); Sun, 5 Nov 2017 04:59:27 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:16669 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752041AbdKEJ70 (ORCPT ); Sun, 5 Nov 2017 04:59:26 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA59xE9S032248; Sun, 5 Nov 2017 12:59:15 +0300 (MSK) From: Vasily Averin Subject: [PATCH 02/21] ppp: exit_net cleanup checks added To: netdev@vger.kernel.org Cc: linux-ppp@vger.kernel.org, Paul Mackerras Message-ID: Date: Sun, 5 Nov 2017 12:59:14 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that lists initialized in net_init hook were return to initial state Signed-off-by: Vasily Averin --- drivers/net/ppp/ppp_generic.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c index e365866..c9791bc 100644 --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c @@ -960,6 +960,10 @@ static __net_exit void ppp_exit_net(struct net *net) rtnl_unlock(); idr_destroy(&pn->units_idr); + WARN(!list_empty(&pn->all_channels), + "net %p exit: ppp all_channels list is not empty\n", net); + WARN(!list_empty(&pn->new_channels), + "net %p exit: ppp new_channels list is not empty\n", net); } static struct pernet_operations ppp_net_ops = { From patchwork Sun Nov 5 09:59:26 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834287 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB4R745vz9t3f for ; Sun, 5 Nov 2017 20:59:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752593AbdKEJ7a (ORCPT ); Sun, 5 Nov 2017 04:59:30 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:21697 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752331AbdKEJ72 (ORCPT ); Sun, 5 Nov 2017 04:59:28 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA59xQKW011945 for ; Sun, 5 Nov 2017 12:59:26 +0300 (MSK) From: Vasily Averin Subject: [PATCH 03/21] vxlan: exit_net cleanup checks added To: netdev@vger.kernel.org Message-ID: Date: Sun, 5 Nov 2017 12:59:26 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that sock_list array initialized in net_init hook was return to initial state Signed-off-by: Vasily Averin --- drivers/net/vxlan.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index d7c49cf..107e2fd 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -3704,6 +3704,7 @@ static void __net_exit vxlan_exit_net(struct net *net) struct vxlan_net *vn = net_generic(net, vxlan_net_id); struct vxlan_dev *vxlan, *next; struct net_device *dev, *aux; + unsigned int h; LIST_HEAD(list); rtnl_lock(); @@ -3723,6 +3724,11 @@ static void __net_exit vxlan_exit_net(struct net *net) unregister_netdevice_many(&list); rtnl_unlock(); + + for (h = 0; h < PORT_HASH_SIZE; ++h) + if (WARN(!hlist_empty(&vn->sock_list[h]), + "net %p exit: vxlan sock_list is not empty\n", net)) + break; } static struct pernet_operations vxlan_net_ops = { From patchwork Sun Nov 5 09:59:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834288 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB4b1Nzgz9t34 for ; Sun, 5 Nov 2017 20:59:43 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752670AbdKEJ7j (ORCPT ); Sun, 5 Nov 2017 04:59:39 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:48212 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752041AbdKEJ7i (ORCPT ); Sun, 5 Nov 2017 04:59:38 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA59xaaf012063 for ; Sun, 5 Nov 2017 12:59:36 +0300 (MSK) From: Vasily Averin Subject: [PATCH 04/21] netdev: exit_net cleanup check added To: netdev@vger.kernel.org Message-ID: <36c779eb-ac61-df82-7a84-9c43a90ef9ad@virtuozzo.com> Date: Sun, 5 Nov 2017 12:59:36 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that dev_base_head list initialized in net_init hook was return to initial state Signed-off-by: Vasily Averin --- net/core/dev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/core/dev.c b/net/core/dev.c index 588b473..dfb0719 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -8562,6 +8562,9 @@ static void __net_exit netdev_exit(struct net *net) { kfree(net->dev_name_head); kfree(net->dev_index_head); + if (net != &init_net) + WARN(!list_empty(&net->dev_base_head), + "net %p exit: netdev dev_base_head is not empty\n", net); } static struct pernet_operations __net_initdata netdev_net_ops = { From patchwork Sun Nov 5 09:59:46 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834289 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB4l69DHz9t34 for ; Sun, 5 Nov 2017 20:59:51 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752694AbdKEJ7t (ORCPT ); Sun, 5 Nov 2017 04:59:49 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:7580 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752671AbdKEJ7s (ORCPT ); Sun, 5 Nov 2017 04:59:48 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA59xkkv016768; Sun, 5 Nov 2017 12:59:47 +0300 (MSK) From: Vasily Averin Subject: [PATCH 05/21] nfs4blocklayout: exit_net cleanup check added To: netdev@vger.kernel.org Cc: linux-nfs@vger.kernel.org Message-ID: <0724b082-28f9-9bda-f656-d22b3a2e0912@virtuozzo.com> Date: Sun, 5 Nov 2017 12:59:46 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that bl_wq wait queue initialized in net_init hook is not used anymore. Signed-off-by: Vasily Averin --- fs/nfs/blocklayout/rpc_pipefs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/nfs/blocklayout/rpc_pipefs.c b/fs/nfs/blocklayout/rpc_pipefs.c index 9fb067a6..fb732cf 100644 --- a/fs/nfs/blocklayout/rpc_pipefs.c +++ b/fs/nfs/blocklayout/rpc_pipefs.c @@ -256,6 +256,8 @@ static void nfs4blocklayout_net_exit(struct net *net) nfs4blocklayout_unregister_net(net, nn->bl_device_pipe); rpc_destroy_pipe_data(nn->bl_device_pipe); nn->bl_device_pipe = NULL; + WARN(!list_empty(&nn->bl_wq.head), + "net %p exit: nfs bl_wq head is not empty\n", net); } static struct pernet_operations nfs4blocklayout_net_ops = { From patchwork Sun Nov 5 10:00:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834290 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB5J5tPGz9t34 for ; Sun, 5 Nov 2017 21:00:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752728AbdKEKAS (ORCPT ); Sun, 5 Nov 2017 05:00:18 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:43279 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752671AbdKEKAR (ORCPT ); Sun, 5 Nov 2017 05:00:17 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A06vp018335; Sun, 5 Nov 2017 13:00:06 +0300 (MSK) From: Vasily Averin Subject: [PATCH 06/21] nfs client: exit_net cleanup check added To: netdev@vger.kernel.org Cc: linux-nfs@vger.kernel.org, Anna Schumaker , Trond Myklebust Message-ID: <5cbecaf0-dbb6-4140-43ed-ae94fc161941@virtuozzo.com> Date: Sun, 5 Nov 2017 13:00:06 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that nfs_client_list and nfs_volume_list lists initialized in net_init hook were return to initial state in net_exit hook. Signed-off-by: Vasily Averin --- fs/nfs/client.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 22880ef..7c0691c 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -204,6 +204,10 @@ void nfs_cleanup_cb_ident_idr(struct net *net) struct nfs_net *nn = net_generic(net, nfs_net_id); idr_destroy(&nn->cb_ident_idr); + WARN(!list_empty(&nn->nfs_client_list), + "net %p exit: nfs_client_list is not empty\n", net); + WARN(!list_empty(&nn->nfs_volume_list), + "net %p exit: nfs_volume_list is not empty\n", net); } /* nfs_client_lock held */ From patchwork Sun Nov 5 10:00:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834291 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB5N2lMMz9t34 for ; Sun, 5 Nov 2017 21:00:24 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752741AbdKEKAW (ORCPT ); Sun, 5 Nov 2017 05:00:22 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:15307 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752079AbdKEKAV (ORCPT ); Sun, 5 Nov 2017 05:00:21 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A0KY3015336 for ; Sun, 5 Nov 2017 13:00:20 +0300 (MSK) From: Vasily Averin Subject: [PATCH 07/21] fib_notifier: exit_net cleanup check added To: netdev@vger.kernel.org Message-ID: Date: Sun, 5 Nov 2017 13:00:20 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that fib_notifier_ops list initilized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/core/fib_notifier.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/core/fib_notifier.c b/net/core/fib_notifier.c index 4fc202d..2de8df3 100644 --- a/net/core/fib_notifier.c +++ b/net/core/fib_notifier.c @@ -161,8 +161,15 @@ static int __net_init fib_notifier_net_init(struct net *net) return 0; } +static void __net_exit fib_notifier_net_exit(struct net *net) +{ + WARN(!list_empty(&net->fib_notifier_ops), + "net %p exit: fib_notifier_ops list is not empty\n", net); +} + static struct pernet_operations fib_notifier_net_ops = { .init = fib_notifier_net_init, + .exit = fib_notifier_net_exit, }; static int __init fib_notifier_init(void) From patchwork Sun Nov 5 10:00:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834292 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB5b5qQgz9t34 for ; Sun, 5 Nov 2017 21:00:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752776AbdKEKAe (ORCPT ); Sun, 5 Nov 2017 05:00:34 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:17541 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752079AbdKEKAd (ORCPT ); Sun, 5 Nov 2017 05:00:33 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A0VSY031184 for ; Sun, 5 Nov 2017 13:00:31 +0300 (MSK) From: Vasily Averin Subject: [PATCH 08/21] fib_rules: exit_net cleanup check added To: netdev@vger.kernel.org Message-ID: <611f07a4-9f9e-7df5-7879-ea2bb702fbd7@virtuozzo.com> Date: Sun, 5 Nov 2017 13:00:31 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that rules_ops list initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/core/fib_rules.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c index 9a6d97c..bb921b0 100644 --- a/net/core/fib_rules.c +++ b/net/core/fib_rules.c @@ -1019,8 +1019,15 @@ static int __net_init fib_rules_net_init(struct net *net) return 0; } +static void __net_exit fib_rules_net_exit(struct net *net) +{ + WARN(!list_empty(&net->rules_ops), + "net %p exit: fib rules_ops list is not empty\n", net); +} + static struct pernet_operations fib_rules_net_ops = { .init = fib_rules_net_init, + .exit = fib_rules_net_exit, }; static int __init fib_rules_init(void) From patchwork Sun Nov 5 10:00:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834293 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB6H0lrGz9t38 for ; Sun, 5 Nov 2017 21:01:11 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752785AbdKEKBI (ORCPT ); Sun, 5 Nov 2017 05:01:08 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:1887 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751564AbdKEKBH (ORCPT ); Sun, 5 Nov 2017 05:01:07 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A0e2G025624; Sun, 5 Nov 2017 13:00:40 +0300 (MSK) From: Vasily Averin Subject: [PATCH 09/21] clusterip: exit_net cleanup check added To: netdev@vger.kernel.org Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org, Hideaki YOSHIFUJI , Florian Westphal , Jozsef Kadlecsik , Pablo Neira Ayuso Message-ID: <848e8c16-63c4-decd-fb37-e592f89e2bef@virtuozzo.com> Date: Sun, 5 Nov 2017 13:00:39 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that configs list initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/ipv4/netfilter/ipt_CLUSTERIP.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c index 17b4ca5..aa6ada3 100644 --- a/net/ipv4/netfilter/ipt_CLUSTERIP.c +++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c @@ -819,6 +819,8 @@ static void clusterip_net_exit(struct net *net) cn->procdir = NULL; #endif nf_unregister_net_hook(net, &cip_arp_ops); + WARN(!list_empty(&cn->configs), + "net %p exit: clusterip configs list is not empty\n", net); } static struct pernet_operations clusterip_net_ops = { From patchwork Sun Nov 5 10:00:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834295 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB6M6vlJz9t34 for ; Sun, 5 Nov 2017 21:01:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752809AbdKEKBN (ORCPT ); Sun, 5 Nov 2017 05:01:13 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:12974 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751564AbdKEKBM (ORCPT ); Sun, 5 Nov 2017 05:01:12 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A0rGQ008509; Sun, 5 Nov 2017 13:00:54 +0300 (MSK) From: Vasily Averin Subject: [PATCH 10/21] xfrm6_tunnel: exit_net cleanup check added To: netdev@vger.kernel.org Cc: Hideaki YOSHIFUJI , Herbert Xu , Steffen Klassert Message-ID: Date: Sun, 5 Nov 2017 13:00:53 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that spi_byaddr and spi_byspi arrays initialized in net_init hook were return to initial state Signed-off-by: Vasily Averin --- net/ipv6/xfrm6_tunnel.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/net/ipv6/xfrm6_tunnel.c b/net/ipv6/xfrm6_tunnel.c index 4e438bc..3825e03 100644 --- a/net/ipv6/xfrm6_tunnel.c +++ b/net/ipv6/xfrm6_tunnel.c @@ -338,6 +338,18 @@ static int __net_init xfrm6_tunnel_net_init(struct net *net) static void __net_exit xfrm6_tunnel_net_exit(struct net *net) { + struct xfrm6_tunnel_net *xfrm6_tn = xfrm6_tunnel_pernet(net); + unsigned int i; + + for (i = 0; i < XFRM6_TUNNEL_SPI_BYADDR_HSIZE; i++) + if (WARN(!hlist_empty(&xfrm6_tn->spi_byaddr[i]), + "net %p exit: xfrm6 spi_byaddr is not empty\n", net)) + break; + + for (i = 0; i < XFRM6_TUNNEL_SPI_BYSPI_HSIZE; i++) + if (WARN(!hlist_empty(&xfrm6_tn->spi_byspi[i]), + "net %p exit: xfrm6 spi_byspi is not empty\n", net)) + break; } static struct pernet_operations xfrm6_tunnel_net_ops = { From patchwork Sun Nov 5 10:01:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834296 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB6S2mkvz9t34 for ; Sun, 5 Nov 2017 21:01:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752849AbdKEKBS (ORCPT ); Sun, 5 Nov 2017 05:01:18 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:18976 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752041AbdKEKBN (ORCPT ); Sun, 5 Nov 2017 05:01:13 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A15rk001763; Sun, 5 Nov 2017 13:01:05 +0300 (MSK) From: Vasily Averin Subject: [PATCH 11/21] af_key: replace BUG_ON on WARN_ON in net_exit hook To: netdev@vger.kernel.org Cc: Herbert Xu , Steffen Klassert Message-ID: <6ba9283c-c9a2-1568-9731-dfa48132a6c7@virtuozzo.com> Date: Sun, 5 Nov 2017 13:01:05 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Vasily Averin --- net/key/af_key.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/key/af_key.c b/net/key/af_key.c index a00d607..3dffb89 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -3845,7 +3845,7 @@ static void __net_exit pfkey_net_exit(struct net *net) struct netns_pfkey *net_pfkey = net_generic(net, pfkey_net_id); pfkey_exit_proc(net); - BUG_ON(!hlist_empty(&net_pfkey->table)); + WARN_ON(!hlist_empty(&net_pfkey->table)); } static struct pernet_operations pfkey_net_ops = { From patchwork Sun Nov 5 10:01:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834297 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB6W40Nxz9t34 for ; Sun, 5 Nov 2017 21:01:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752844AbdKEKBR (ORCPT ); Sun, 5 Nov 2017 05:01:17 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:29420 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752786AbdKEKBP (ORCPT ); Sun, 5 Nov 2017 05:01:15 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A1D5Z030427 for ; Sun, 5 Nov 2017 13:01:14 +0300 (MSK) From: Vasily Averin Subject: [PATCH 12/21] l2tp: exit_net cleanup check added To: netdev@vger.kernel.org Message-ID: <32b4a85d-85c4-0509-019e-27475ac70d58@virtuozzo.com> Date: Sun, 5 Nov 2017 13:01:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that l2tp_session_hlist array initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/l2tp/l2tp_core.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/net/l2tp/l2tp_core.c b/net/l2tp/l2tp_core.c index 02d6110..109fd36 100644 --- a/net/l2tp/l2tp_core.c +++ b/net/l2tp/l2tp_core.c @@ -1888,6 +1888,7 @@ static __net_exit void l2tp_exit_net(struct net *net) { struct l2tp_net *pn = l2tp_pernet(net); struct l2tp_tunnel *tunnel = NULL; + int hash; rcu_read_lock_bh(); list_for_each_entry_rcu(tunnel, &pn->l2tp_tunnel_list, list) { @@ -1897,6 +1898,11 @@ static __net_exit void l2tp_exit_net(struct net *net) flush_workqueue(l2tp_wq); rcu_barrier(); + + for (hash = 0; hash < L2TP_HASH_SIZE_2; hash++) + if (WARN(!hlist_empty(&pn->l2tp_session_hlist[hash]), + "net %p exit: l2tp session_hlist is not empty\n", net)) + break; } static struct pernet_operations l2tp_net_ops = { From patchwork Sun Nov 5 10:01:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834298 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB766cWDz9t34 for ; Sun, 5 Nov 2017 21:01:54 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752860AbdKEKBv (ORCPT ); Sun, 5 Nov 2017 05:01:51 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:48682 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751455AbdKEKBu (ORCPT ); Sun, 5 Nov 2017 05:01:50 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A1TUP032132; Sun, 5 Nov 2017 13:01:29 +0300 (MSK) From: Vasily Averin Subject: [PATCH 13/21] nf_tables: exit_net cleanup check added To: netdev@vger.kernel.org Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org, Florian Westphal , Jozsef Kadlecsik , Pablo Neira Ayuso Message-ID: Date: Sun, 5 Nov 2017 13:01:29 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that lists initialized in net_init hook were return to initial state. Signed-off-by: Vasily Averin --- net/netfilter/nf_tables_api.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 64e1ee0..60cbf0a 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -5778,6 +5778,14 @@ static int __net_init nf_tables_init_net(struct net *net) return 0; } +static void __net_exit nf_tables_exit_net(struct net *net) +{ + WARN(!list_empty(&net->nft.af_info), + "net %p exit: nf_tables af_info list is not empty\n", net); + WARN(!list_empty(&net->nft.commit_list), + "net %p exit: nf_tables commit_list is not empty\n", net); +} + int __nft_release_basechain(struct nft_ctx *ctx) { struct nft_rule *rule, *nr; @@ -5848,6 +5856,7 @@ static void __nft_release_afinfo(struct net *net, struct nft_af_info *afi) static struct pernet_operations nf_tables_net_ops = { .init = nf_tables_init_net, + .exit = nf_tables_exit_net, }; static int __init nf_tables_module_init(void) From patchwork Sun Nov 5 10:01:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834300 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB7G1pYmz9t34 for ; Sun, 5 Nov 2017 21:02:02 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752880AbdKEKB7 (ORCPT ); Sun, 5 Nov 2017 05:01:59 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:5491 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751455AbdKEKB6 (ORCPT ); Sun, 5 Nov 2017 05:01:58 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A1g2m001903; Sun, 5 Nov 2017 13:01:42 +0300 (MSK) From: Vasily Averin Subject: [PATCH 14/21] nfnetlink_log: exit_net cleanup check added To: netdev@vger.kernel.org Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org, Florian Westphal , Jozsef Kadlecsik , Pablo Neira Ayuso Message-ID: Date: Sun, 5 Nov 2017 13:01:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that instance_table array initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/netfilter/nfnetlink_log.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c index cad6498..fa97566 100644 --- a/net/netfilter/nfnetlink_log.c +++ b/net/netfilter/nfnetlink_log.c @@ -1093,10 +1093,17 @@ static int __net_init nfnl_log_net_init(struct net *net) static void __net_exit nfnl_log_net_exit(struct net *net) { + unsigned int i; + struct nfnl_log_net *log = nfnl_log_pernet(net); #ifdef CONFIG_PROC_FS remove_proc_entry("nfnetlink_log", net->nf.proc_netfilter); #endif nf_log_unset(net, &nfulnl_logger); + for (i = 0; i < INSTANCE_BUCKETS; i++) + if (WARN(!hlist_empty(&log->instance_table[i]), + "net %p exit: nfnl_log instance_table is not empty\n", + net)) + break; } static struct pernet_operations nfnl_log_net_ops = { From patchwork Sun Nov 5 10:01:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834303 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB7L466Jz9t34 for ; Sun, 5 Nov 2017 21:02:06 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752923AbdKEKCD (ORCPT ); Sun, 5 Nov 2017 05:02:03 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:3137 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752786AbdKEKCC (ORCPT ); Sun, 5 Nov 2017 05:02:02 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A1qVU024647; Sun, 5 Nov 2017 13:01:52 +0300 (MSK) From: Vasily Averin Subject: [PATCH 15/21] nfnetlink_gueue: exit_net cleanup check added To: netdev@vger.kernel.org Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org, Florian Westphal , Jozsef Kadlecsik , Pablo Neira Ayuso Message-ID: <3deb7ef5-4065-e3ae-14de-0dfabd58635e@virtuozzo.com> Date: Sun, 5 Nov 2017 13:01:52 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that instance_table array initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/netfilter/nfnetlink_queue.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c index c979662..c752eb7 100644 --- a/net/netfilter/nfnetlink_queue.c +++ b/net/netfilter/nfnetlink_queue.c @@ -1512,10 +1512,18 @@ static int __net_init nfnl_queue_net_init(struct net *net) static void __net_exit nfnl_queue_net_exit(struct net *net) { + unsigned int i; + struct nfnl_queue_net *q = nfnl_queue_pernet(net); + nf_unregister_queue_handler(net); #ifdef CONFIG_PROC_FS remove_proc_entry("nfnetlink_queue", net->nf.proc_netfilter); #endif + for (i = 0; i < INSTANCE_BUCKETS; i++) + if (WARN(!hlist_empty(&q->instance_table[i]), + "net %p exit: nfnl_queue instance_table isn't empty\n", + net)) + break; } static void nfnl_queue_net_exit_batch(struct list_head *net_exit_list) From patchwork Sun Nov 5 10:02:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834304 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB7W09vBz9t34 for ; Sun, 5 Nov 2017 21:02:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752958AbdKEKCM (ORCPT ); Sun, 5 Nov 2017 05:02:12 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:46631 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752937AbdKEKCL (ORCPT ); Sun, 5 Nov 2017 05:02:11 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A21D5013661; Sun, 5 Nov 2017 13:02:01 +0300 (MSK) From: Vasily Averin Subject: [PATCH 16/21] x_tables: exit_net cleanup check added To: netdev@vger.kernel.org Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org, Florian Westphal , Jozsef Kadlecsik , Pablo Neira Ayuso Message-ID: <3cf1e9ee-0432-0062-5c4f-c287a00de3df@virtuozzo.com> Date: Sun, 5 Nov 2017 13:02:01 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that xt.tables array initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/netfilter/x_tables.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c index d8571f4..7e74b37 100644 --- a/net/netfilter/x_tables.c +++ b/net/netfilter/x_tables.c @@ -1714,8 +1714,18 @@ static int __net_init xt_net_init(struct net *net) return 0; } +static void __net_exit xt_net_exit(struct net *net) +{ + int i; + + for (i = 0; i < NFPROTO_NUMPROTO; i++) + WARN(!list_empty(&net->xt.tables[i]), + "net %p exit: xt tables list is not empty\n", net); +} + static struct pernet_operations xt_net_ops = { .init = xt_net_init, + .exit = xt_net_exit, }; static int __init xt_init(void) From patchwork Sun Nov 5 10:02:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834306 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB7f6rphz9t34 for ; Sun, 5 Nov 2017 21:02:22 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752994AbdKEKCT (ORCPT ); Sun, 5 Nov 2017 05:02:19 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:2231 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752962AbdKEKCS (ORCPT ); Sun, 5 Nov 2017 05:02:18 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A29bh014420; Sun, 5 Nov 2017 13:02:09 +0300 (MSK) From: Vasily Averin Subject: [PATCH 17/21] hashlimit: exit_net cleanup check added To: netdev@vger.kernel.org Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org, Florian Westphal , Jozsef Kadlecsik , Pablo Neira Ayuso Message-ID: <32ef6c18-ccf4-39fd-7128-04456da2402e@virtuozzo.com> Date: Sun, 5 Nov 2017 13:02:09 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that htables array initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/netfilter/xt_hashlimit.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c index 5da8746..78485d1 100644 --- a/net/netfilter/xt_hashlimit.c +++ b/net/netfilter/xt_hashlimit.c @@ -1338,7 +1338,11 @@ static int __net_init hashlimit_net_init(struct net *net) static void __net_exit hashlimit_net_exit(struct net *net) { + struct hashlimit_net *hashlimit_net = hashlimit_pernet(net); + hashlimit_proc_net_exit(net); + WARN(!hlist_empty(&hashlimit_net->htables), + "net %p exit: hashlimit htables hlist is not empty\n", net); } static struct pernet_operations hashlimit_net_ops = { From patchwork Sun Nov 5 10:02:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834309 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB7r43yQz9t34 for ; Sun, 5 Nov 2017 21:02:32 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753017AbdKEKCa (ORCPT ); Sun, 5 Nov 2017 05:02:30 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:16343 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750888AbdKEKC2 (ORCPT ); Sun, 5 Nov 2017 05:02:28 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A2HD0001472; Sun, 5 Nov 2017 13:02:17 +0300 (MSK) From: Vasily Averin Subject: [PATCH 18/21] recent: exit_net cleanup check added To: netdev@vger.kernel.org Cc: coreteam@netfilter.org, netfilter-devel@vger.kernel.org, Florian Westphal , Jozsef Kadlecsik , Pablo Neira Ayuso Message-ID: <442303f3-1e78-84a9-67aa-2371b167c36b@virtuozzo.com> Date: Sun, 5 Nov 2017 13:02:17 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that tables list initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/netfilter/xt_recent.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/netfilter/xt_recent.c b/net/netfilter/xt_recent.c index 245fa35..7e29d30 100644 --- a/net/netfilter/xt_recent.c +++ b/net/netfilter/xt_recent.c @@ -681,7 +681,11 @@ static int __net_init recent_net_init(struct net *net) static void __net_exit recent_net_exit(struct net *net) { + struct recent_net *recent_net = recent_pernet(net); + recent_proc_net_exit(net); + WARN(!list_empty(&recent_net->tables), + "net %p exit: recent tables list is not empty\n", net); } static struct pernet_operations recent_net_ops = { From patchwork Sun Nov 5 10:02:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834308 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB7q2C67z9t34 for ; Sun, 5 Nov 2017 21:02:31 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752331AbdKEKC2 (ORCPT ); Sun, 5 Nov 2017 05:02:28 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:22387 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750725AbdKEKC1 (ORCPT ); Sun, 5 Nov 2017 05:02:27 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A2PJF002468 for ; Sun, 5 Nov 2017 13:02:26 +0300 (MSK) From: Vasily Averin Subject: [PATCH 19/21] packet: exit_net cleanup check added To: netdev@vger.kernel.org Message-ID: <3ce9c19f-2542-bb9b-5ed8-56e42dccbc0c@virtuozzo.com> Date: Sun, 5 Nov 2017 13:02:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that packet.sklist initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/packet/af_packet.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index bec01a3..16bbc0e 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -4562,6 +4562,8 @@ static int __net_init packet_net_init(struct net *net) static void __net_exit packet_net_exit(struct net *net) { remove_proc_entry("packet", net->proc_net); + WARN(!hlist_empty(&net->packet.sklist), + "net %p exit: packet sklist is not empty\n", net); } static struct pernet_operations packet_net_ops = { From patchwork Sun Nov 5 10:02:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834311 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB7z74q4z9t34 for ; Sun, 5 Nov 2017 21:02:39 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752611AbdKEKCi (ORCPT ); Sun, 5 Nov 2017 05:02:38 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:20194 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751930AbdKEKCg (ORCPT ); Sun, 5 Nov 2017 05:02:36 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A2Ygl009297; Sun, 5 Nov 2017 13:02:34 +0300 (MSK) From: Vasily Averin Subject: [PATCH 20/21] phonet: exit_net cleanup check added To: netdev@vger.kernel.org Cc: Remi Denis-Courmont Message-ID: <3dcdb5aa-cb48-dcf7-f8f4-80e9c36810aa@virtuozzo.com> Date: Sun, 5 Nov 2017 13:02:34 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that pndevs.list initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/phonet/pn_dev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/phonet/pn_dev.c b/net/phonet/pn_dev.c index 2cb4c5d..1024851 100644 --- a/net/phonet/pn_dev.c +++ b/net/phonet/pn_dev.c @@ -332,6 +332,8 @@ static int __net_init phonet_init_net(struct net *net) static void __net_exit phonet_exit_net(struct net *net) { remove_proc_entry("phonet", net->proc_net); + WARN(!list_empty(&pnn->pndevs.list), + "net %p exit: phonet pndevs.list is not empty\n", net); } static struct pernet_operations phonet_net_ops = { From patchwork Sun Nov 5 10:02:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vasily Averin X-Patchwork-Id: 834313 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=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yVB8S3y4Cz9t34 for ; Sun, 5 Nov 2017 21:03:04 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752764AbdKEKDC (ORCPT ); Sun, 5 Nov 2017 05:03:02 -0500 Received: from mailhub.sw.ru ([195.214.232.25]:41704 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752077AbdKEKDB (ORCPT ); Sun, 5 Nov 2017 05:03:01 -0500 Received: from [172.16.24.21] (msk-vpn.virtuozzo.com [195.214.232.6]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id vA5A2iBG019898; Sun, 5 Nov 2017 13:02:44 +0300 (MSK) From: Vasily Averin Subject: [PATCH 21/21] sunrpc: exit_net cleanup check added To: netdev@vger.kernel.org Cc: linux-nfs@vger.kernel.org, Anna Schumaker , Trond Myklebust , Jeff Layton , "J. Bruce Fields" Message-ID: Date: Sun, 5 Nov 2017 13:02:44 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Be sure that all_clients list initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin --- net/sunrpc/sunrpc_syms.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/sunrpc/sunrpc_syms.c b/net/sunrpc/sunrpc_syms.c index c73de18..0c5a90f 100644 --- a/net/sunrpc/sunrpc_syms.c +++ b/net/sunrpc/sunrpc_syms.c @@ -65,10 +65,14 @@ static __net_init int sunrpc_init_net(struct net *net) static __net_exit void sunrpc_exit_net(struct net *net) { + struct sunrpc_net *sn = net_generic(net, sunrpc_net_id); + rpc_pipefs_exit_net(net); unix_gid_cache_destroy(net); ip_map_cache_destroy(net); rpc_proc_exit(net); + WARN(!list_empty(&sn->all_clients), + "net %p exit: sunrpc all_clients list is not empty\n", net); } static struct pernet_operations sunrpc_net_ops = {