From 46cc3b2193a3be0e0043d9cb98af1121aeebf09d Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 16 Mar 2022 11:18:40 +0100 Subject: sys/linux: update watch queue descriptions The interface has significantly changed since the first version. Update to the upstreammed interface. Fixes #3030 --- sys/linux/watch_queue.txt | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 sys/linux/watch_queue.txt (limited to 'sys/linux/watch_queue.txt') diff --git a/sys/linux/watch_queue.txt b/sys/linux/watch_queue.txt new file mode 100644 index 000000000..f10bafbf4 --- /dev/null +++ b/sys/linux/watch_queue.txt @@ -0,0 +1,33 @@ +# Copyright 2019 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +include +include +include + +resource fd_watch_queue[fd] + +pipe2$watch_queue(pipefd ptr[out, pipefd$watch_queue], flags const[O_NOTIFICATION_PIPE]) +read$watch_queue(fd fd_watch_queue, buf buffer[out], count len[buf]) +ioctl$IOC_WATCH_QUEUE_SET_SIZE(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_SIZE], arg flags[watch_queue_size]) +ioctl$IOC_WATCH_QUEUE_SET_FILTER(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_FILTER], arg ptr[in, watch_notification_filter]) + +pipefd$watch_queue { + rfd fd_watch_queue + wfd fd +} + +watch_notification_filter { + nr_filters len[filters, int32] + __reserved const[0, int32] + filters array[watch_notification_type_filter] +} + +watch_notification_type_filter { + type int32 + info_filter int32 + info_mask int32 + subtype_filter array[int32, 8] +} + +watch_queue_size = 1, 2, 4, 8, 16 -- cgit mrf-deployment