Re: [PATCH] fanotify: initialize permission event watchdog state
From: Jan Kara
Date: Fri Jul 03 2026 - 11:17:13 EST
On Fri 03-07-26 11:13:45, xuanqiang.luo@xxxxxxxxx wrote:
> From: Xuanqiang Luo <luoxuanqiang@xxxxxxxxxx>
>
> fanotify permission events are allocated with kmem_cache_alloc(), but
> fanotify_alloc_perm_event() does not initialize watchdog_cnt.
>
> The watchdog reads watchdog_cnt after the event is moved to access_list.
> A stale value can make it warn too early or skip the warning.
>
> Initialize watchdog_cnt when allocating a permission event.
>
> Fixes: b8cf8fda522d ("fanotify: add watchdog for permission events")
> Signed-off-by: Xuanqiang Luo <luoxuanqiang@xxxxxxxxxx>
Thanks. I've added the patch to my tree.
Honza
> ---
> fs/notify/fanotify/fanotify.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c
> index a3555bebad63e..b59f0aa43c4be 100644
> --- a/fs/notify/fanotify/fanotify.c
> +++ b/fs/notify/fanotify/fanotify.c
> @@ -599,6 +599,7 @@ static struct fanotify_event *fanotify_alloc_perm_event(const void *data,
> pevent->hdr.pad = 0;
> pevent->hdr.len = 0;
> pevent->state = FAN_EVENT_INIT;
> + pevent->watchdog_cnt = 0;
> pevent->path = *path;
> /* NULL ppos means no range info */
> pevent->ppos = range ? &range->pos : NULL;
> --
> 2.43.0
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR