Re: [PATCH] netfs: Delete subtree of 'fs/netfs' when netfs module exits

From: Christian Brauner
Date: Wed Aug 28 2024 - 09:37:29 EST


On Wed, Aug 28, 2024 at 08:13:54PM GMT, Baokun Li wrote:
> On 2024/8/28 19:22, Christian Brauner wrote:
> > On Mon, 26 Aug 2024 19:34:04 +0800, libaokun@xxxxxxxxxxxxxxx wrote:
> > > In netfs_init() or fscache_proc_init(), we create dentry under 'fs/netfs',
> > > but in netfs_exit(), we only delete the proc entry of 'fs/netfs' without
> > > deleting its subtree. This triggers the following WARNING:
> > >
> > > ==================================================================
> > > remove_proc_entry: removing non-empty directory 'fs/netfs', leaking at least 'requests'
> > > WARNING: CPU: 4 PID: 566 at fs/proc/generic.c:717 remove_proc_entry+0x160/0x1c0
> > > Modules linked in: netfs(-)
> > > CPU: 4 UID: 0 PID: 566 Comm: rmmod Not tainted 6.11.0-rc3 #860
> > > RIP: 0010:remove_proc_entry+0x160/0x1c0
> > > Call Trace:
> > > <TASK>
> > > netfs_exit+0x12/0x620 [netfs]
> > > __do_sys_delete_module.isra.0+0x14c/0x2e0
> > > do_syscall_64+0x4b/0x110
> > > entry_SYSCALL_64_after_hwframe+0x76/0x7e
> > > ==================================================================
>
> Hi Christian,
>
>
> Thank you for applying this patch!
>
> I just realized that the parentheses are in the wrong place here,
> could you please help me correct them?
> > > Therefore use remove_proc_subtree instead() of remove_proc_entry() to
> ^^ remove_proc_subtree() instead

Sure, done.