Subject: CVE-2024-47733: netfs: Delete subtree of 'fs/netfs' when netfs module exits

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

netfs: Delete subtree of 'fs/netfs' when netfs module exits

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
==================================================================

Therefore use remove_proc_subtree() instead of remove_proc_entry() to
fix the above problem.

The Linux kernel CVE team has assigned CVE-2024-47733 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 6.8 with commit 7eb5b3e3a0a5 and fixed in 6.10.13 with commit 603f95cefbee
	Issue introduced in 6.8 with commit 7eb5b3e3a0a5 and fixed in 6.11.2 with commit 7a9eaf97d566
	Issue introduced in 6.8 with commit 7eb5b3e3a0a5 and fixed in 6.12-rc1 with commit 3c58a9575e02

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2024-47733
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	fs/netfs/main.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/603f95cefbee06a31b03137b777f03e3c2163d72
	https://git.kernel.org/stable/c/7a9eaf97d56625e55b31a7beb558e1ee185ca461
	https://git.kernel.org/stable/c/3c58a9575e02c2b90a3180007d57105ceaa7c246