aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuis Henriques <luis@igalia.com>2025-06-13 11:11:11 +0100
committerChristian Brauner <brauner@kernel.org>2025-06-16 09:59:24 +0200
commitdd2d6b7f6f519d078a866a36a625b0297d81c5bc (patch)
treecef73ac82800cbfd96c9a772042d7597bba8d967
parentfs: unlock the superblock during iterate_supers_type (diff)
downloadwireguard-linux-dd2d6b7f6f519d078a866a36a625b0297d81c5bc.tar.xz
wireguard-linux-dd2d6b7f6f519d078a866a36a625b0297d81c5bc.zip
fs: drop assert in file_seek_cur_needs_f_lock
The assert in function file_seek_cur_needs_f_lock() can be triggered very easily because there are many users of vfs_llseek() (such as overlayfs) that do their custom locking around llseek instead of relying on fdget_pos(). Just drop the overzealous assertion. Fixes: da06e3c51794 ("fs: don't needlessly acquire f_lock") Suggested-by: Jan Kara <jack@suse.cz> Suggested-by: Mateusz Guzik <mjguzik@gmail.com> Signed-off-by: Luis Henriques <luis@igalia.com> Link: https://lore.kernel.org/20250613101111.17716-1-luis@igalia.com Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r--fs/file.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/file.c b/fs/file.c
index 3a3146664cf3..b6db031545e6 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -1198,8 +1198,12 @@ bool file_seek_cur_needs_f_lock(struct file *file)
if (!(file->f_mode & FMODE_ATOMIC_POS) && !file->f_op->iterate_shared)
return false;
- VFS_WARN_ON_ONCE((file_count(file) > 1) &&
- !mutex_is_locked(&file->f_pos_lock));
+ /*
+ * Note that we are not guaranteed to be called after fdget_pos() on
+ * this file obj, in which case the caller is expected to provide the
+ * appropriate locking.
+ */
+
return true;
}