All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Cong Wang <xiyou.wangcong@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-nfs@vger.kernel.org,
	Trond Myklebust <trond.myklebust@primarydata.com>,
	Dan Aloni <dan@kernelim.com>
Subject: Re: [PATCH v2] nfs: fix kernel warning when removing proc entry
Date: Tue, 19 Aug 2014 21:20:38 -0700	[thread overview]
Message-ID: <87ppfvrdux.fsf@x220.int.ebiederm.org> (raw)
In-Reply-To: <1408217806-25877-1-git-send-email-xiyou.wangcong@gmail.com> (Cong Wang's message of "Sat, 16 Aug 2014 12:36:46 -0700")

Cong Wang <xiyou.wangcong@gmail.com> writes:

> I saw the following kernel warning:

Cong thanks for finding and tracking this.  I was clearly asleep at the
switch when I was testing my fix to the nfs client code :(

I have applied this patch and will push it to Linus after it has a
little bit to sit in linux-next.

Eric

> [ 1852.321222] ------------[ cut here ]------------
> [ 1852.326527] WARNING: CPU: 0 PID: 118 at fs/proc/generic.c:521 remove_proc_entry+0x154/0x16b()
> [ 1852.335630] remove_proc_entry: removing non-empty directory 'fs/nfsfs', leaking at least 'volumes'
> [ 1852.344084] CPU: 0 PID: 118 Comm: kworker/u8:2 Not tainted 3.16.0+ #540
> [ 1852.350036] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
> [ 1852.354992] Workqueue: netns cleanup_net
> [ 1852.358701]  0000000000000000 ffff880116f2fbd0 ffffffff819c03e9 ffff880116f2fc18
> [ 1852.366474]  ffff880116f2fc08 ffffffff810744ee ffffffff811e0e6e ffff8800d4e96238
> [ 1852.373507]  ffffffff81dbe665 ffff8800d46a5948 0000000000000005 ffff880116f2fc68
> [ 1852.380224] Call Trace:
> [ 1852.381976]  [<ffffffff819c03e9>] dump_stack+0x4d/0x66
> [ 1852.385495]  [<ffffffff810744ee>] warn_slowpath_common+0x7a/0x93
> [ 1852.389869]  [<ffffffff811e0e6e>] ? remove_proc_entry+0x154/0x16b
> [ 1852.393987]  [<ffffffff8107457b>] warn_slowpath_fmt+0x4c/0x4e
> [ 1852.397999]  [<ffffffff811e0e6e>] remove_proc_entry+0x154/0x16b
> [ 1852.402034]  [<ffffffff8129c73d>] nfs_fs_proc_net_exit+0x53/0x56
> [ 1852.406136]  [<ffffffff812a103b>] nfs_net_exit+0x12/0x1d
> [ 1852.409774]  [<ffffffff81785bc9>] ops_exit_list+0x44/0x55
> [ 1852.413529]  [<ffffffff81786389>] cleanup_net+0xee/0x182
> [ 1852.417198]  [<ffffffff81088c9e>] process_one_work+0x209/0x40d
> [ 1852.502320]  [<ffffffff81088bf7>] ? process_one_work+0x162/0x40d
> [ 1852.587629]  [<ffffffff810890c1>] worker_thread+0x1f0/0x2c7
> [ 1852.673291]  [<ffffffff81088ed1>] ? process_scheduled_works+0x2f/0x2f
> [ 1852.759470]  [<ffffffff8108e079>] kthread+0xc9/0xd1
> [ 1852.843099]  [<ffffffff8109427f>] ? finish_task_switch+0x3a/0xce
> [ 1852.926518]  [<ffffffff8108dfb0>] ? __kthread_parkme+0x61/0x61
> [ 1853.008565]  [<ffffffff819cbeac>] ret_from_fork+0x7c/0xb0
> [ 1853.076477]  [<ffffffff8108dfb0>] ? __kthread_parkme+0x61/0x61
> [ 1853.140653] ---[ end trace 69c4c6617f78e32d ]---
>
> It looks wrong that we add "/proc/net/nfsfs" in nfs_fs_proc_net_init()
> while remove "/proc/fs/nfsfs" in nfs_fs_proc_net_exit().
>
> Fixes: commit 65b38851a17 (NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes)
> Cc: Eric W. Biederman <ebiederm@xmission.com>
> Cc: Trond Myklebust <trond.myklebust@primarydata.com>
> Cc: Dan Aloni <dan@kernelim.com>
> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
> ---
> v2 - fix nfs_fs_proc_net_init() as well
>
>  fs/nfs/client.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> index 1c5ff6d..c117b96 100644
> --- a/fs/nfs/client.c
> +++ b/fs/nfs/client.c
> @@ -1418,7 +1418,7 @@ int nfs_fs_proc_net_init(struct net *net)
>  error_2:
>  	remove_proc_entry("servers", nn->proc_nfsfs);
>  error_1:
> -	remove_proc_entry("fs/nfsfs", NULL);
> +	remove_proc_entry("nfsfs", net->proc_net);
>  error_0:
>  	return -ENOMEM;
>  }
> @@ -1429,7 +1429,7 @@ void nfs_fs_proc_net_exit(struct net *net)
>  
>  	remove_proc_entry("volumes", nn->proc_nfsfs);
>  	remove_proc_entry("servers", nn->proc_nfsfs);
> -	remove_proc_entry("fs/nfsfs", NULL);
> +	remove_proc_entry("nfsfs", net->proc_net);
>  }
>  
>  /*

  reply	other threads:[~2014-08-20  4:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-16 19:36 [PATCH v2] nfs: fix kernel warning when removing proc entry Cong Wang
2014-08-20  4:20 ` Eric W. Biederman [this message]
     [not found]   ` <alpine.DEB.2.19.4.1408192222470.2758@trent.utfs.org>
2014-08-20 23:16     ` Trond Myklebust
2014-08-20 23:27   ` Trond Myklebust
2014-08-28  1:41   ` Al Viro
2014-09-08 23:54     ` Trond Myklebust
2014-09-09  2:59       ` Cong Wang
2014-09-08 18:50   ` Matt Mullins
2014-09-08 20:26     ` Alexei Starovoitov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ppfvrdux.fsf@x220.int.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=dan@kernelim.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond.myklebust@primarydata.com \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.