Commit 7da4add
committed
fs/fhandle.c: fix a race in call of has_locked_children()
JIRA: https://issues.redhat.com/browse/RHEL-113598
CVE: CVE-2025-38306
Conflicts:
1) A context diff with the has_locked_children() hunk and a merge
conflict with clone_private_mount() hunk due to missing
upstream commit db04662 ("fs: allow detached mounts in
clone_private_mount()").
2) A merge conflict with the __do_loopback() hunk due to missing
upstream commit 9ed72af ("fs: add may_copy_tree()").
commit 1f282cd
Author: Al Viro <viro@zeniv.linux.org.uk>
Date: Sun, 1 Jun 2025 14:23:52 -0400
fs/fhandle.c: fix a race in call of has_locked_children()
may_decode_fh() is calling has_locked_children() while holding no locks.
That's an oopsable race...
The rest of the callers are safe since they are holding namespace_sem and
are guaranteed a positive refcount on the mount in question.
Rename the current has_locked_children() to __has_locked_children(), make
it static and switch the fs/namespace.c users to it.
Make has_locked_children() a wrapper for __has_locked_children(), calling
the latter under read_seqlock_excl(&mount_lock).
Reviewed-by: Christian Brauner <brauner@kernel.org>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Fixes: 620c266 ("fhandle: relax open_by_handle_at() permission checks")
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Waiman Long <longman@redhat.com>1 parent 42a425b commit 7da4add
1 file changed
+14
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2232 | 2232 | | |
2233 | 2233 | | |
2234 | 2234 | | |
2235 | | - | |
| 2235 | + | |
2236 | 2236 | | |
2237 | 2237 | | |
2238 | 2238 | | |
| |||
2246 | 2246 | | |
2247 | 2247 | | |
2248 | 2248 | | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
| 2258 | + | |
2249 | 2259 | | |
2250 | 2260 | | |
2251 | 2261 | | |
| |||
2268 | 2278 | | |
2269 | 2279 | | |
2270 | 2280 | | |
2271 | | - | |
| 2281 | + | |
2272 | 2282 | | |
2273 | 2283 | | |
2274 | 2284 | | |
| |||
2747 | 2757 | | |
2748 | 2758 | | |
2749 | 2759 | | |
2750 | | - | |
| 2760 | + | |
2751 | 2761 | | |
2752 | 2762 | | |
2753 | 2763 | | |
| |||
3144 | 3154 | | |
3145 | 3155 | | |
3146 | 3156 | | |
3147 | | - | |
| 3157 | + | |
3148 | 3158 | | |
3149 | 3159 | | |
3150 | 3160 | | |
| |||
0 commit comments