Re: [PATCH 2/7] fsnotify: Add missing annotation for fsnotify_finish_user_wait()

From: Jan Kara
Date: Wed Apr 01 2020 - 05:24:39 EST


On Tue 31-03-20 21:46:38, Jules Irenge wrote:
> Sparse reports a warning at fsnotify_finish_user_wait()
>
> warning: context imbalance in fsnotify_finish_user_wait()
> - wrong count at exit
>
> The root cause is the missing annotation at fsnotify_finish_user_wait()
> Add the missing __acquires(&fsnotify_mark_srcu) annotation.
>
> Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx>

OK, but then fsnotify_prepare_user_wait() needs __releases annotation as
well if we're going to be serious about sparse warnings in this code?

Honza

> ---
> fs/notify/mark.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/notify/mark.c b/fs/notify/mark.c
> index 1d96216dffd1..44fea637bb02 100644
> --- a/fs/notify/mark.c
> +++ b/fs/notify/mark.c
> @@ -350,6 +350,7 @@ bool fsnotify_prepare_user_wait(struct fsnotify_iter_info *iter_info)
> }
>
> void fsnotify_finish_user_wait(struct fsnotify_iter_info *iter_info)
> + __acquires(&fsnotify_mark_srcu)
> {
> int type;
>
> --
> 2.24.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR