Re: [PATCH] fs: drop assert in file_seek_cur_needs_f_lock
From: Jan Kara
Date: Thu Jun 12 2025 - 07:08:36 EST
On Thu 12-06-25 10:41:01, Luis Henriques wrote:
> The assert in function file_seek_cur_needs_f_lock() can be triggered very
> easily because, as Jan Kara suggested, the file reference may get
> incremented after checking it with fdget_pos().
>
> Fixes: da06e3c51794 ("fs: don't needlessly acquire f_lock")
> Signed-off-by: Luis Henriques <luis@xxxxxxxxxx>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@xxxxxxx>
Honza
> ---
> Hi Christian,
>
> It wasn't clear whether you'd be queueing this fix yourself. Since I don't
> see it on vfs.git, I decided to explicitly send the patch so that it doesn't
> slip through the cracks.
>
> Cheers,
> --
> Luis
>
> fs/file.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/fs/file.c b/fs/file.c
> index 3a3146664cf3..075f07bdc977 100644
> --- a/fs/file.c
> +++ b/fs/file.c
> @@ -1198,8 +1198,6 @@ 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));
> return true;
> }
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR