]> www.infradead.org Git - users/jedix/linux-maple.git/commit
fs: consistently deref the files table with rcu_dereference_raw()
authorMateusz Guzik <mjguzik@gmail.com>
Thu, 13 Mar 2025 13:57:25 +0000 (14:57 +0100)
committerChristian Brauner <brauner@kernel.org>
Tue, 18 Mar 2025 14:34:27 +0000 (15:34 +0100)
commitf381640e1bd4f2de7ccafbfe8703d33c3718aad9
tree090384ca8c7dbb6609364afebeb7a354a9942533
parent64a56f635aae25381ea35dce418ce8dd5ceb2f3d
fs: consistently deref the files table with rcu_dereference_raw()

... except when the table is known to be only used by one thread.

A file pointer can get installed at any moment despite the ->file_lock
being held since the following:
8a81252b774b53e6 ("fs/file.c: don't acquire files->file_lock in fd_install()")

Accesses subject to such a race can in principle suffer load tearing.

While here redo the comment in dup_fd -- it only covered a race against
files showing up, still assuming fd_install() takes the lock.

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://lore.kernel.org/r/20250313135725.1320914-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/file.c