From c5e085d96d1cdc855365b7fd9c1825b886f266f6 Mon Sep 17 00:00:00 2001 From: Ricardo CaƱuelo Date: Mon, 8 Jun 2020 12:57:25 +0200 Subject: sys/linux: specific descriptions for vim2m (v4l2) Add a set of descriptions to focus the fuzzing process on the V4L2 vim2m test driver. This should be useful to test the M2M framework. The syscalls are based on a specific file descriptor for the vim2m device and a selection of v4l2 ioctls that operate on it. Some of the existing v4l2 data structure definitions have been extended to allow restricting and selecting some options in order to narrow down the fuzzing process. Initial support for Request API added. --- sys/linux/dev_video4linux.txt | 55 +++++++++-------- sys/linux/dev_video4linux_amd64.const | 93 +++++++++++++++-------------- sys/linux/dev_video4linux_arm64.const | 93 +++++++++++++++-------------- sys/linux/dev_video4linux_vim2m.txt | 58 ++++++++++++++++++ sys/linux/dev_video4linux_vim2m_amd64.const | 22 +++++++ sys/linux/dev_video4linux_vim2m_arm64.const | 22 +++++++ sys/linux/sys.txt | 2 +- 7 files changed, 231 insertions(+), 114 deletions(-) create mode 100644 sys/linux/dev_video4linux_vim2m.txt create mode 100644 sys/linux/dev_video4linux_vim2m_amd64.const create mode 100644 sys/linux/dev_video4linux_vim2m_arm64.const (limited to 'sys/linux') diff --git a/sys/linux/dev_video4linux.txt b/sys/linux/dev_video4linux.txt index 92fc34c7f..83aa76dd6 100644 --- a/sys/linux/dev_video4linux.txt +++ b/sys/linux/dev_video4linux.txt @@ -14,10 +14,13 @@ include include include include +include resource fd_video[fd] resource fd_dmabuf[fd] resource fd_v4l2_buffer[fd] +resource fd_media[fd] +resource fd_request[fd] syz_open_dev$video(dev ptr[in, string["/dev/video#"]], id intptr, flags flags[open_flags]) fd_video syz_open_dev$video4linux(dev ptr[in, string["/dev/v4l-subdev#"]], id intptr, flags flags[open_flags]) fd_video @@ -32,7 +35,6 @@ openat$vimc0(fd const[AT_FDCWD], file ptr[in, string["/dev/video0"]], flags cons openat$vimc1(fd const[AT_FDCWD], file ptr[in, string["/dev/video1"]], flags const[O_RDWR], mode const[0]) fd_video openat$vimc2(fd const[AT_FDCWD], file ptr[in, string["/dev/video2"]], flags const[O_RDWR], mode const[0]) fd_video syz_open_dev$vivid(dev ptr[in, string["/dev/video#"]], id proc[3, 4], flags const[O_RDWR]) fd_video -openat$vim2m(fd const[AT_FDCWD], file ptr[in, string["/dev/video35"]], flags const[O_RDWR], mode const[0]) fd_video openat$vicodec0(fd const[AT_FDCWD], file ptr[in, string["/dev/video36"]], flags const[O_RDWR], mode const[0]) fd_video openat$vicodec1(fd const[AT_FDCWD], file ptr[in, string["/dev/video37"]], flags const[O_RDWR], mode const[0]) fd_video # TODO: there are some complex rules as to what ioctl's are applicable to what devices @@ -45,17 +47,17 @@ syz_open_dev$cec(dev ptr[in, string["/dev/cec#"]], id proc[0, 4], flags const[O_ ioctl$VIDIOC_QUERYCAP(fd fd_video, cmd const[VIDIOC_QUERYCAP], arg ptr[out, v4l2_capability]) ioctl$VIDIOC_RESERVED(fd fd_video, cmd const[VIDIOC_RESERVED], arg const[0]) -ioctl$VIDIOC_ENUM_FMT(fd fd_video, cmd const[VIDIOC_ENUM_FMT], arg ptr[inout, v4l2_fmtdesc]) -ioctl$VIDIOC_G_FMT(fd fd_video, cmd const[VIDIOC_G_FMT], arg ptr[inout, v4l2_format]) -ioctl$VIDIOC_S_FMT(fd fd_video, cmd const[VIDIOC_S_FMT], arg ptr[inout, v4l2_format]) -ioctl$VIDIOC_REQBUFS(fd fd_video, cmd const[VIDIOC_REQBUFS], arg ptr[inout, v4l2_requestbuffers]) -ioctl$VIDIOC_QUERYBUF(fd fd_video, cmd const[VIDIOC_QUERYBUF], arg ptr[inout, v4l2_buffer]) +ioctl$VIDIOC_ENUM_FMT(fd fd_video, cmd const[VIDIOC_ENUM_FMT], arg ptr[inout, v4l2_fmtdesc[v4l2_buf_type]]) +ioctl$VIDIOC_G_FMT(fd fd_video, cmd const[VIDIOC_G_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type]]) +ioctl$VIDIOC_S_FMT(fd fd_video, cmd const[VIDIOC_S_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type]]) +ioctl$VIDIOC_REQBUFS(fd fd_video, cmd const[VIDIOC_REQBUFS], arg ptr[inout, v4l2_requestbuffers[v4l2_buf_type]]) +ioctl$VIDIOC_QUERYBUF(fd fd_video, cmd const[VIDIOC_QUERYBUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type, fd]]) ioctl$VIDIOC_G_FBUF(fd fd_video, cmd const[VIDIOC_G_FBUF], arg ptr[inout, v4l2_framebuffer]) ioctl$VIDIOC_S_FBUF(fd fd_video, cmd const[VIDIOC_S_FBUF], arg ptr[in, v4l2_framebuffer]) ioctl$VIDIOC_OVERLAY(fd fd_video, cmd const[VIDIOC_OVERLAY], arg ptr[in, int32]) -ioctl$VIDIOC_QBUF(fd fd_video, cmd const[VIDIOC_QBUF], arg ptr[inout, v4l2_buffer]) -ioctl$VIDIOC_EXPBUF(fd fd_video, cmd const[VIDIOC_EXPBUF], arg ptr[inout, v4l2_exportbuffer]) -ioctl$VIDIOC_DQBUF(fd fd_video, cmd const[VIDIOC_DQBUF], arg ptr[inout, v4l2_buffer]) +ioctl$VIDIOC_QBUF(fd fd_video, cmd const[VIDIOC_QBUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type, fd]]) +ioctl$VIDIOC_EXPBUF(fd fd_video, cmd const[VIDIOC_EXPBUF], arg ptr[inout, v4l2_exportbuffer[v4l2_buf_type]]) +ioctl$VIDIOC_DQBUF(fd fd_video, cmd const[VIDIOC_DQBUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type, fd]]) ioctl$VIDIOC_STREAMON(fd fd_video, cmd const[VIDIOC_STREAMON], arg ptr[in, int32]) ioctl$VIDIOC_STREAMOFF(fd fd_video, cmd const[VIDIOC_STREAMOFF], arg ptr[in, int32]) ioctl$VIDIOC_G_PARM(fd fd_video, cmd const[VIDIOC_G_PARM], arg ptr[inout, v4l2_streamparm]) @@ -91,7 +93,7 @@ ioctl$VIDIOC_S_CROP(fd fd_video, cmd const[VIDIOC_S_CROP], arg ptr[in, v4l2_crop ioctl$VIDIOC_G_JPEGCOMP(fd fd_video, cmd const[VIDIOC_G_JPEGCOMP], arg ptr[out, v4l2_jpegcompression]) ioctl$VIDIOC_S_JPEGCOMP(fd fd_video, cmd const[VIDIOC_S_JPEGCOMP], arg ptr[in, v4l2_jpegcompression]) ioctl$VIDIOC_QUERYSTD(fd fd_video, cmd const[VIDIOC_QUERYSTD], arg ptr[out, v4l2_std_id]) -ioctl$VIDIOC_TRY_FMT(fd fd_video, cmd const[VIDIOC_TRY_FMT], arg ptr[inout, v4l2_format]) +ioctl$VIDIOC_TRY_FMT(fd fd_video, cmd const[VIDIOC_TRY_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type]]) ioctl$VIDIOC_ENUMAUDIO(fd fd_video, cmd const[VIDIOC_ENUMAUDIO], arg ptr[inout, v4l2_audio]) ioctl$VIDIOC_ENUMAUDOUT(fd fd_video, cmd const[VIDIOC_ENUMAUDOUT], arg ptr[inout, v4l2_audioout]) ioctl$VIDIOC_G_PRIORITY(fd fd_video, cmd const[VIDIOC_G_PRIORITY], arg flags[v4l2_priority]) @@ -114,8 +116,8 @@ ioctl$VIDIOC_G_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_G_DV_TIMINGS], arg ptr[i ioctl$VIDIOC_DQEVENT(fd fd_video, cmd const[VIDIOC_DQEVENT], arg ptr[out, v4l2_event]) ioctl$VIDIOC_SUBSCRIBE_EVENT(fd fd_video, cmd const[VIDIOC_SUBSCRIBE_EVENT], arg ptr[in, v4l2_event_subscription]) ioctl$VIDIOC_UNSUBSCRIBE_EVENT(fd fd_video, cmd const[VIDIOC_UNSUBSCRIBE_EVENT], arg ptr[in, v4l2_event_subscription]) -ioctl$VIDIOC_CREATE_BUFS(fd fd_video, cmd const[VIDIOC_CREATE_BUFS], arg ptr[inout, v4l2_create_buffers]) -ioctl$VIDIOC_PREPARE_BUF(fd fd_video, cmd const[VIDIOC_PREPARE_BUF], arg ptr[inout, v4l2_buffer]) +ioctl$VIDIOC_CREATE_BUFS(fd fd_video, cmd const[VIDIOC_CREATE_BUFS], arg ptr[inout, v4l2_create_buffers[v4l2_buf_type]]) +ioctl$VIDIOC_PREPARE_BUF(fd fd_video, cmd const[VIDIOC_PREPARE_BUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type, fd]]) ioctl$VIDIOC_G_SELECTION(fd fd_video, cmd const[VIDIOC_G_SELECTION], arg ptr[inout, v4l2_selection]) ioctl$VIDIOC_S_SELECTION(fd fd_video, cmd const[VIDIOC_S_SELECTION], arg ptr[inout, v4l2_selection]) ioctl$VIDIOC_DECODER_CMD(fd fd_video, cmd const[VIDIOC_DECODER_CMD], arg ptr[inout, v4l2_decoder_cmd]) @@ -145,6 +147,9 @@ ioctl$VIDIOC_SUBDEV_ENUM_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_SUBDEV_ENUM_DV ioctl$VIDIOC_SUBDEV_QUERY_DV_TIMINGS(fd fd_video, cmd const[VIDIOC_SUBDEV_QUERY_DV_TIMINGS], arg ptr[out, v4l2_dv_timings]) ioctl$VIDIOC_SUBDEV_DV_TIMINGS_CAP(fd fd_video, cmd const[VIDIOC_SUBDEV_DV_TIMINGS_CAP], arg ptr[inout, v4l2_dv_timings_cap]) +ioctl$MEDIA_IOC_REQUEST_ALLOC(fd fd_media, cmd const[MEDIA_IOC_REQUEST_ALLOC], arg ptr[out, fd_request]) +ioctl$MEDIA_REQUEST_IOC_QUEUE(fd fd_request, cmd const[MEDIA_REQUEST_IOC_QUEUE], arg const[0]) + v4l2_capability { driver array[int8, 16] card array[int8, 32] @@ -155,17 +160,17 @@ v4l2_capability { reserved array[const[0, int32], 3] } -v4l2_fmtdesc { +type v4l2_fmtdesc[BUF_TYPE] { index int32 - type flags[v4l2_buf_type, int32] + type flags[BUF_TYPE, int32] flags flags[v4l2_fmtdesc_flags, int32] description array[int8, 32] pixelformat flags[v4l2_pix_format_pixelformat, int32] reserved array[const[0, int32], 4] } -v4l2_format { - type flags[v4l2_buf_type, int32] +type v4l2_format[BUF_TYPE] { + type flags[BUF_TYPE, int32] fmt v4l2_format_fmt } @@ -261,17 +266,17 @@ v4l2_sdr_format { reserved array[const[0, int8], 24] } [packed] -v4l2_requestbuffers { +type v4l2_requestbuffers[BUF_TYPE] { count int32 - type flags[v4l2_buf_type, int32] + type flags[BUF_TYPE, int32] memory flags[v4l2_memory, int32] capabilities const[0, int32] reserved const[0, int32] } -v4l2_buffer { +type v4l2_buffer[BUF_TYPE, FD_TYPE] { index int32 - type flags[v4l2_buf_type, int32] + type flags[BUF_TYPE, int32] bytesused len[type, int32] flags flags[v4l2_buffer_flags, int32] field int32 @@ -282,7 +287,7 @@ v4l2_buffer { m v4l2_buffer_union length int32 reserved2 const[0, int32] - request_fd fd[opt] + request_fd FD_TYPE[opt] } v4l2_buffer_union [ @@ -334,8 +339,8 @@ v4l2_framebuffer_union { priv int32 } -v4l2_exportbuffer { - type flags[v4l2_buf_type, int32] +type v4l2_exportbuffer[BUF_TYPE] { + type flags[BUF_TYPE, int32] index int32 plane int32 flags flags[pipe_flags, int32] @@ -707,11 +712,11 @@ v4l2_event_subscription { reserved array[const[0, int32], 5] } -v4l2_create_buffers { +type v4l2_create_buffers[BUF_TYPE] { index int32 count int32 memory flags[v4l2_memory, int32] - format v4l2_format + format v4l2_format[BUF_TYPE] capabilities int32 reserved array[const[0, int32], 7] } diff --git a/sys/linux/dev_video4linux_amd64.const b/sys/linux/dev_video4linux_amd64.const index a8088890c..a732812f6 100644 --- a/sys/linux/dev_video4linux_amd64.const +++ b/sys/linux/dev_video4linux_amd64.const @@ -1,4 +1,5 @@ # AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 MEDIA_BUS_FMT_AHSV8888_1X32 = 24577 MEDIA_BUS_FMT_ARGB8888_1X32 = 4109 MEDIA_BUS_FMT_AYUV8_1X32 = 8215 @@ -87,6 +88,9 @@ MEDIA_BUS_FMT_YVYU12_2X12 = 8223 MEDIA_BUS_FMT_YVYU8_1X16 = 8210 MEDIA_BUS_FMT_YVYU8_1_5X8 = 8197 MEDIA_BUS_FMT_YVYU8_2X8 = 8201 +MEDIA_IOC_REQUEST_ALLOC = 2147777541 +MEDIA_REQUEST_IOC_QUEUE = 31872 +O_RDWR = 2 V4L2_AUDCAP_AVL = 2 V4L2_AUDCAP_STEREO = 1 V4L2_AUDMODE_AVL = 1 @@ -441,7 +445,7 @@ V4L2_CID_ZOOM_CONTINUOUS = 10094863 V4L2_CID_ZOOM_RELATIVE = 10094862 V4L2_COLORSPACE_470_SYSTEM_BG = 6 V4L2_COLORSPACE_470_SYSTEM_M = 5 -V4L2_COLORSPACE_ADOBERGB = 9 +# V4L2_COLORSPACE_ADOBERGB is not set V4L2_COLORSPACE_BT2020 = 10 V4L2_COLORSPACE_BT878 = 4 V4L2_COLORSPACE_DCI_P3 = 12 @@ -501,7 +505,7 @@ V4L2_DEC_CMD_START_MUTE_AUDIO = 1 V4L2_DEC_CMD_STOP = 1 V4L2_DEC_CMD_STOP_IMMEDIATELY = 2 V4L2_DEC_CMD_STOP_TO_BLACK = 1 -V4L2_DEC_QCOM_CMD_RECONFIG_HINT = 5 +# V4L2_DEC_QCOM_CMD_RECONFIG_HINT is not set V4L2_DEC_START_FMT_GOP = 1 V4L2_DEC_START_FMT_NONE = 0 V4L2_DV_BT_656_1120 = 0 @@ -542,17 +546,17 @@ V4L2_EVENT_EOS = 2 V4L2_EVENT_FRAME_SYNC = 4 V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ = 1 V4L2_EVENT_MOTION_DET = 6 -V4L2_EVENT_MSM_VIDC_FLUSH_DONE = 134221825 -V4L2_EVENT_MSM_VIDC_HW_OVERLOAD = 134221832 -V4L2_EVENT_MSM_VIDC_HW_UNSUPPORTED = 134221834 -V4L2_EVENT_MSM_VIDC_MAX_CLIENTS = 134221833 -V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_BITDEPTH_CHANGED_INSUFFICIENT = 134221828 -V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_INSUFFICIENT = 134221827 -V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_SUFFICIENT = 134221826 -V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE = 134221830 -V4L2_EVENT_MSM_VIDC_RELEASE_UNQUEUED_BUFFER = 134221831 -V4L2_EVENT_MSM_VIDC_START = 134221824 -V4L2_EVENT_MSM_VIDC_SYS_ERROR = 134221829 +# V4L2_EVENT_MSM_VIDC_FLUSH_DONE is not set +# V4L2_EVENT_MSM_VIDC_HW_OVERLOAD is not set +# V4L2_EVENT_MSM_VIDC_HW_UNSUPPORTED is not set +# V4L2_EVENT_MSM_VIDC_MAX_CLIENTS is not set +# V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_BITDEPTH_CHANGED_INSUFFICIENT is not set +# V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_INSUFFICIENT is not set +# V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_SUFFICIENT is not set +# V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE is not set +# V4L2_EVENT_MSM_VIDC_RELEASE_UNQUEUED_BUFFER is not set +# V4L2_EVENT_MSM_VIDC_START is not set +# V4L2_EVENT_MSM_VIDC_SYS_ERROR is not set V4L2_EVENT_PRIVATE_START = 134217728 V4L2_EVENT_SOURCE_CHANGE = 5 V4L2_EVENT_SRC_CH_RESOLUTION = 1 @@ -624,7 +628,7 @@ V4L2_MEMORY_MMAP = 1 V4L2_MEMORY_OVERLAY = 3 V4L2_MEMORY_USERPTR = 2 V4L2_MODE_HIGHQUALITY = 1 -V4L2_MSM_BUF_FLAG_DEFER = 1073741824 +# V4L2_MSM_BUF_FLAG_DEFER is not set V4L2_OUTPUT_TYPE_ANALOG = 2 V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY = 3 V4L2_OUTPUT_TYPE_MODULATOR = 1 @@ -668,9 +672,9 @@ V4L2_PIX_FMT_NV12 = 842094158 V4L2_PIX_FMT_NV12M = 842091854 V4L2_PIX_FMT_NV12MT = 842091860 V4L2_PIX_FMT_NV12MT_16X16 = 842091862 -V4L2_PIX_FMT_NV12_P010_UBWC = 1110585681 -V4L2_PIX_FMT_NV12_TP10_UBWC = 1093808465 -V4L2_PIX_FMT_NV12_UBWC = 942813521 +# V4L2_PIX_FMT_NV12_P010_UBWC is not set +# V4L2_PIX_FMT_NV12_TP10_UBWC is not set +# V4L2_PIX_FMT_NV12_UBWC is not set V4L2_PIX_FMT_NV16 = 909203022 V4L2_PIX_FMT_NV16M = 909200718 V4L2_PIX_FMT_NV21 = 825382478 @@ -694,7 +698,7 @@ V4L2_PIX_FMT_RGB555 = 1329743698 V4L2_PIX_FMT_RGB555X = 1363298130 V4L2_PIX_FMT_RGB565 = 1346520914 V4L2_PIX_FMT_RGB565X = 1380075346 -V4L2_PIX_FMT_RGBA8888_UBWC = 1111970385 +# V4L2_PIX_FMT_RGBA8888_UBWC is not set V4L2_PIX_FMT_S5C_UYVY_JPG = 1229141331 V4L2_PIX_FMT_SBGGR10 = 808535874 V4L2_PIX_FMT_SBGGR10ALAW8 = 943800929 @@ -732,7 +736,7 @@ V4L2_PIX_FMT_SRGGB12 = 842090322 V4L2_PIX_FMT_SRGGB8 = 1111967570 V4L2_PIX_FMT_STV0680 = 808990291 V4L2_PIX_FMT_TM6000 = 808865108 -V4L2_PIX_FMT_TME = 809848148 +# V4L2_PIX_FMT_TME is not set V4L2_PIX_FMT_UV8 = 540563029 V4L2_PIX_FMT_UYVY = 1498831189 V4L2_PIX_FMT_VC1_ANNEX_G = 1194410838 @@ -782,20 +786,20 @@ V4L2_PRIORITY_DEFAULT = 2 V4L2_PRIORITY_INTERACTIVE = 2 V4L2_PRIORITY_RECORD = 3 V4L2_PRIORITY_UNSET = 0 -V4L2_QCOM_BUF_DATA_CORRUPT = 4194304 -V4L2_QCOM_BUF_FLAG_CODECCONFIG = 131072 -V4L2_QCOM_BUF_FLAG_DECODEONLY = 2097152 -V4L2_QCOM_BUF_FLAG_EOS = 33554432 -V4L2_QCOM_BUF_FLAG_EOSEQ = 262144 -V4L2_QCOM_BUF_FLAG_IDRFRAME = 2147483648 -V4L2_QCOM_BUF_FLAG_PERF_MODE = 536870912 -V4L2_QCOM_BUF_FLAG_READONLY = 67108864 -V4L2_QCOM_BUF_INPUT_UNSUPPORTED = 16777216 -V4L2_QCOM_BUF_TIMESTAMP_INVALID = 524288 -V4L2_QCOM_CMD_FLUSH = 4 -V4L2_QCOM_CMD_FLUSH_CAPTURE = 2 -V4L2_QCOM_CMD_FLUSH_OUTPUT = 1 -V4L2_QCOM_CMD_SESSION_CONTINUE = 6 +# V4L2_QCOM_BUF_DATA_CORRUPT is not set +# V4L2_QCOM_BUF_FLAG_CODECCONFIG is not set +# V4L2_QCOM_BUF_FLAG_DECODEONLY is not set +# V4L2_QCOM_BUF_FLAG_EOS is not set +# V4L2_QCOM_BUF_FLAG_EOSEQ is not set +# V4L2_QCOM_BUF_FLAG_IDRFRAME is not set +# V4L2_QCOM_BUF_FLAG_PERF_MODE is not set +# V4L2_QCOM_BUF_FLAG_READONLY is not set +# V4L2_QCOM_BUF_INPUT_UNSUPPORTED is not set +# V4L2_QCOM_BUF_TIMESTAMP_INVALID is not set +# V4L2_QCOM_CMD_FLUSH is not set +# V4L2_QCOM_CMD_FLUSH_CAPTURE is not set +# V4L2_QCOM_CMD_FLUSH_OUTPUT is not set +# V4L2_QCOM_CMD_SESSION_CONTINUE is not set V4L2_QUANTIZATION_DEFAULT = 0 V4L2_QUANTIZATION_FULL_RANGE = 1 V4L2_QUANTIZATION_LIM_RANGE = 2 @@ -803,12 +807,12 @@ V4L2_SEL_FLAG_GE = 1 V4L2_SEL_FLAG_KEEP_CONFIG = 4 V4L2_SEL_FLAG_LE = 2 V4L2_SEL_TGT_COMPOSE = 256 -V4L2_SEL_TGT_COMPOSE_ACTIVE = 256 +# V4L2_SEL_TGT_COMPOSE_ACTIVE is not set V4L2_SEL_TGT_COMPOSE_BOUNDS = 258 V4L2_SEL_TGT_COMPOSE_DEFAULT = 257 V4L2_SEL_TGT_COMPOSE_PADDED = 259 V4L2_SEL_TGT_CROP = 0 -V4L2_SEL_TGT_CROP_ACTIVE = 0 +# V4L2_SEL_TGT_CROP_ACTIVE is not set V4L2_SEL_TGT_CROP_BOUNDS = 2 V4L2_SEL_TGT_CROP_DEFAULT = 1 V4L2_SEL_TGT_NATIVE_SIZE = 3 @@ -860,13 +864,13 @@ V4L2_STD_SECAM_LC = 8388608 V4L2_STD_UNKNOWN = 0 V4L2_SUBDEV_FORMAT_ACTIVE = 1 V4L2_SUBDEV_FORMAT_TRY = 0 -V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG = 4 -V4L2_SUBDEV_SEL_FLAG_SIZE_GE = 1 -V4L2_SUBDEV_SEL_FLAG_SIZE_LE = 2 -V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL = 256 -V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS = 258 -V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL = 0 -V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS = 2 +# V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG is not set +# V4L2_SUBDEV_SEL_FLAG_SIZE_GE is not set +# V4L2_SUBDEV_SEL_FLAG_SIZE_LE is not set +# V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL is not set +# V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS is not set +# V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL is not set +# V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS is not set V4L2_TC_FLAG_COLORFRAME = 2 V4L2_TC_FLAG_DROPFRAME = 1 V4L2_TC_TYPE_24FPS = 1 @@ -915,7 +919,7 @@ V4L2_VBI_ITU_625_F1_START = 1 V4L2_VBI_ITU_625_F2_START = 314 V4L2_VBI_UNSYNC = 1 V4L2_XFER_FUNC_709 = 1 -V4L2_XFER_FUNC_ADOBERGB = 3 +# V4L2_XFER_FUNC_ADOBERGB is not set V4L2_XFER_FUNC_DCI_P3 = 6 V4L2_XFER_FUNC_DEFAULT = 0 V4L2_XFER_FUNC_NONE = 5 @@ -984,7 +988,7 @@ VIDIOC_QUERYSTD = 2148030015 VIDIOC_QUERY_DV_TIMINGS = 2156156515 VIDIOC_QUERY_EXT_CTRL = 3236451943 VIDIOC_REQBUFS = 3222558216 -VIDIOC_RESERVED = 22017 +# VIDIOC_RESERVED is not set VIDIOC_STREAMOFF = 1074026003 VIDIOC_STREAMON = 1074026002 VIDIOC_SUBDEV_DV_TIMINGS_CAP = 3230684772 @@ -1032,3 +1036,4 @@ VIDIOC_TRY_EXT_CTRLS = 3223344713 VIDIOC_TRY_FMT = 3234879040 VIDIOC_UNSUBSCRIBE_EVENT = 1075861083 __NR_ioctl = 16 +__NR_openat = 257 diff --git a/sys/linux/dev_video4linux_arm64.const b/sys/linux/dev_video4linux_arm64.const index c18bacdbe..2d505d23f 100644 --- a/sys/linux/dev_video4linux_arm64.const +++ b/sys/linux/dev_video4linux_arm64.const @@ -1,4 +1,5 @@ # AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 MEDIA_BUS_FMT_AHSV8888_1X32 = 24577 MEDIA_BUS_FMT_ARGB8888_1X32 = 4109 MEDIA_BUS_FMT_AYUV8_1X32 = 8215 @@ -87,6 +88,9 @@ MEDIA_BUS_FMT_YVYU12_2X12 = 8223 MEDIA_BUS_FMT_YVYU8_1X16 = 8210 MEDIA_BUS_FMT_YVYU8_1_5X8 = 8197 MEDIA_BUS_FMT_YVYU8_2X8 = 8201 +MEDIA_IOC_REQUEST_ALLOC = 2147777541 +MEDIA_REQUEST_IOC_QUEUE = 31872 +O_RDWR = 2 V4L2_AUDCAP_AVL = 2 V4L2_AUDCAP_STEREO = 1 V4L2_AUDMODE_AVL = 1 @@ -441,7 +445,7 @@ V4L2_CID_ZOOM_CONTINUOUS = 10094863 V4L2_CID_ZOOM_RELATIVE = 10094862 V4L2_COLORSPACE_470_SYSTEM_BG = 6 V4L2_COLORSPACE_470_SYSTEM_M = 5 -V4L2_COLORSPACE_ADOBERGB = 9 +# V4L2_COLORSPACE_ADOBERGB is not set V4L2_COLORSPACE_BT2020 = 10 V4L2_COLORSPACE_BT878 = 4 V4L2_COLORSPACE_DCI_P3 = 12 @@ -501,7 +505,7 @@ V4L2_DEC_CMD_START_MUTE_AUDIO = 1 V4L2_DEC_CMD_STOP = 1 V4L2_DEC_CMD_STOP_IMMEDIATELY = 2 V4L2_DEC_CMD_STOP_TO_BLACK = 1 -V4L2_DEC_QCOM_CMD_RECONFIG_HINT = 5 +# V4L2_DEC_QCOM_CMD_RECONFIG_HINT is not set V4L2_DEC_START_FMT_GOP = 1 V4L2_DEC_START_FMT_NONE = 0 V4L2_DV_BT_656_1120 = 0 @@ -542,17 +546,17 @@ V4L2_EVENT_EOS = 2 V4L2_EVENT_FRAME_SYNC = 4 V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ = 1 V4L2_EVENT_MOTION_DET = 6 -V4L2_EVENT_MSM_VIDC_FLUSH_DONE = 134221825 -V4L2_EVENT_MSM_VIDC_HW_OVERLOAD = 134221832 -V4L2_EVENT_MSM_VIDC_HW_UNSUPPORTED = 134221834 -V4L2_EVENT_MSM_VIDC_MAX_CLIENTS = 134221833 -V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_BITDEPTH_CHANGED_INSUFFICIENT = 134221828 -V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_INSUFFICIENT = 134221827 -V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_SUFFICIENT = 134221826 -V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE = 134221830 -V4L2_EVENT_MSM_VIDC_RELEASE_UNQUEUED_BUFFER = 134221831 -V4L2_EVENT_MSM_VIDC_START = 134221824 -V4L2_EVENT_MSM_VIDC_SYS_ERROR = 134221829 +# V4L2_EVENT_MSM_VIDC_FLUSH_DONE is not set +# V4L2_EVENT_MSM_VIDC_HW_OVERLOAD is not set +# V4L2_EVENT_MSM_VIDC_HW_UNSUPPORTED is not set +# V4L2_EVENT_MSM_VIDC_MAX_CLIENTS is not set +# V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_BITDEPTH_CHANGED_INSUFFICIENT is not set +# V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_INSUFFICIENT is not set +# V4L2_EVENT_MSM_VIDC_PORT_SETTINGS_CHANGED_SUFFICIENT is not set +# V4L2_EVENT_MSM_VIDC_RELEASE_BUFFER_REFERENCE is not set +# V4L2_EVENT_MSM_VIDC_RELEASE_UNQUEUED_BUFFER is not set +# V4L2_EVENT_MSM_VIDC_START is not set +# V4L2_EVENT_MSM_VIDC_SYS_ERROR is not set V4L2_EVENT_PRIVATE_START = 134217728 V4L2_EVENT_SOURCE_CHANGE = 5 V4L2_EVENT_SRC_CH_RESOLUTION = 1 @@ -624,7 +628,7 @@ V4L2_MEMORY_MMAP = 1 V4L2_MEMORY_OVERLAY = 3 V4L2_MEMORY_USERPTR = 2 V4L2_MODE_HIGHQUALITY = 1 -V4L2_MSM_BUF_FLAG_DEFER = 1073741824 +# V4L2_MSM_BUF_FLAG_DEFER is not set V4L2_OUTPUT_TYPE_ANALOG = 2 V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY = 3 V4L2_OUTPUT_TYPE_MODULATOR = 1 @@ -668,9 +672,9 @@ V4L2_PIX_FMT_NV12 = 842094158 V4L2_PIX_FMT_NV12M = 842091854 V4L2_PIX_FMT_NV12MT = 842091860 V4L2_PIX_FMT_NV12MT_16X16 = 842091862 -V4L2_PIX_FMT_NV12_P010_UBWC = 1110585681 -V4L2_PIX_FMT_NV12_TP10_UBWC = 1093808465 -V4L2_PIX_FMT_NV12_UBWC = 942813521 +# V4L2_PIX_FMT_NV12_P010_UBWC is not set +# V4L2_PIX_FMT_NV12_TP10_UBWC is not set +# V4L2_PIX_FMT_NV12_UBWC is not set V4L2_PIX_FMT_NV16 = 909203022 V4L2_PIX_FMT_NV16M = 909200718 V4L2_PIX_FMT_NV21 = 825382478 @@ -694,7 +698,7 @@ V4L2_PIX_FMT_RGB555 = 1329743698 V4L2_PIX_FMT_RGB555X = 1363298130 V4L2_PIX_FMT_RGB565 = 1346520914 V4L2_PIX_FMT_RGB565X = 1380075346 -V4L2_PIX_FMT_RGBA8888_UBWC = 1111970385 +# V4L2_PIX_FMT_RGBA8888_UBWC is not set V4L2_PIX_FMT_S5C_UYVY_JPG = 1229141331 V4L2_PIX_FMT_SBGGR10 = 808535874 V4L2_PIX_FMT_SBGGR10ALAW8 = 943800929 @@ -732,7 +736,7 @@ V4L2_PIX_FMT_SRGGB12 = 842090322 V4L2_PIX_FMT_SRGGB8 = 1111967570 V4L2_PIX_FMT_STV0680 = 808990291 V4L2_PIX_FMT_TM6000 = 808865108 -V4L2_PIX_FMT_TME = 809848148 +# V4L2_PIX_FMT_TME is not set V4L2_PIX_FMT_UV8 = 540563029 V4L2_PIX_FMT_UYVY = 1498831189 V4L2_PIX_FMT_VC1_ANNEX_G = 1194410838 @@ -782,20 +786,20 @@ V4L2_PRIORITY_DEFAULT = 2 V4L2_PRIORITY_INTERACTIVE = 2 V4L2_PRIORITY_RECORD = 3 V4L2_PRIORITY_UNSET = 0 -V4L2_QCOM_BUF_DATA_CORRUPT = 4194304 -V4L2_QCOM_BUF_FLAG_CODECCONFIG = 131072 -V4L2_QCOM_BUF_FLAG_DECODEONLY = 2097152 -V4L2_QCOM_BUF_FLAG_EOS = 33554432 -V4L2_QCOM_BUF_FLAG_EOSEQ = 262144 -V4L2_QCOM_BUF_FLAG_IDRFRAME = 2147483648 -V4L2_QCOM_BUF_FLAG_PERF_MODE = 536870912 -V4L2_QCOM_BUF_FLAG_READONLY = 67108864 -V4L2_QCOM_BUF_INPUT_UNSUPPORTED = 16777216 -V4L2_QCOM_BUF_TIMESTAMP_INVALID = 524288 -V4L2_QCOM_CMD_FLUSH = 4 -V4L2_QCOM_CMD_FLUSH_CAPTURE = 2 -V4L2_QCOM_CMD_FLUSH_OUTPUT = 1 -V4L2_QCOM_CMD_SESSION_CONTINUE = 6 +# V4L2_QCOM_BUF_DATA_CORRUPT is not set +# V4L2_QCOM_BUF_FLAG_CODECCONFIG is not set +# V4L2_QCOM_BUF_FLAG_DECODEONLY is not set +# V4L2_QCOM_BUF_FLAG_EOS is not set +# V4L2_QCOM_BUF_FLAG_EOSEQ is not set +# V4L2_QCOM_BUF_FLAG_IDRFRAME is not set +# V4L2_QCOM_BUF_FLAG_PERF_MODE is not set +# V4L2_QCOM_BUF_FLAG_READONLY is not set +# V4L2_QCOM_BUF_INPUT_UNSUPPORTED is not set +# V4L2_QCOM_BUF_TIMESTAMP_INVALID is not set +# V4L2_QCOM_CMD_FLUSH is not set +# V4L2_QCOM_CMD_FLUSH_CAPTURE is not set +# V4L2_QCOM_CMD_FLUSH_OUTPUT is not set +# V4L2_QCOM_CMD_SESSION_CONTINUE is not set V4L2_QUANTIZATION_DEFAULT = 0 V4L2_QUANTIZATION_FULL_RANGE = 1 V4L2_QUANTIZATION_LIM_RANGE = 2 @@ -803,12 +807,12 @@ V4L2_SEL_FLAG_GE = 1 V4L2_SEL_FLAG_KEEP_CONFIG = 4 V4L2_SEL_FLAG_LE = 2 V4L2_SEL_TGT_COMPOSE = 256 -V4L2_SEL_TGT_COMPOSE_ACTIVE = 256 +# V4L2_SEL_TGT_COMPOSE_ACTIVE is not set V4L2_SEL_TGT_COMPOSE_BOUNDS = 258 V4L2_SEL_TGT_COMPOSE_DEFAULT = 257 V4L2_SEL_TGT_COMPOSE_PADDED = 259 V4L2_SEL_TGT_CROP = 0 -V4L2_SEL_TGT_CROP_ACTIVE = 0 +# V4L2_SEL_TGT_CROP_ACTIVE is not set V4L2_SEL_TGT_CROP_BOUNDS = 2 V4L2_SEL_TGT_CROP_DEFAULT = 1 V4L2_SEL_TGT_NATIVE_SIZE = 3 @@ -860,13 +864,13 @@ V4L2_STD_SECAM_LC = 8388608 V4L2_STD_UNKNOWN = 0 V4L2_SUBDEV_FORMAT_ACTIVE = 1 V4L2_SUBDEV_FORMAT_TRY = 0 -V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG = 4 -V4L2_SUBDEV_SEL_FLAG_SIZE_GE = 1 -V4L2_SUBDEV_SEL_FLAG_SIZE_LE = 2 -V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL = 256 -V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS = 258 -V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL = 0 -V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS = 2 +# V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG is not set +# V4L2_SUBDEV_SEL_FLAG_SIZE_GE is not set +# V4L2_SUBDEV_SEL_FLAG_SIZE_LE is not set +# V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL is not set +# V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS is not set +# V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL is not set +# V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS is not set V4L2_TC_FLAG_COLORFRAME = 2 V4L2_TC_FLAG_DROPFRAME = 1 V4L2_TC_TYPE_24FPS = 1 @@ -915,7 +919,7 @@ V4L2_VBI_ITU_625_F1_START = 1 V4L2_VBI_ITU_625_F2_START = 314 V4L2_VBI_UNSYNC = 1 V4L2_XFER_FUNC_709 = 1 -V4L2_XFER_FUNC_ADOBERGB = 3 +# V4L2_XFER_FUNC_ADOBERGB is not set V4L2_XFER_FUNC_DCI_P3 = 6 V4L2_XFER_FUNC_DEFAULT = 0 V4L2_XFER_FUNC_NONE = 5 @@ -984,7 +988,7 @@ VIDIOC_QUERYSTD = 2148030015 VIDIOC_QUERY_DV_TIMINGS = 2156156515 VIDIOC_QUERY_EXT_CTRL = 3236451943 VIDIOC_REQBUFS = 3222558216 -VIDIOC_RESERVED = 22017 +# VIDIOC_RESERVED is not set VIDIOC_STREAMOFF = 1074026003 VIDIOC_STREAMON = 1074026002 VIDIOC_SUBDEV_DV_TIMINGS_CAP = 3230684772 @@ -1032,3 +1036,4 @@ VIDIOC_TRY_EXT_CTRLS = 3223344713 VIDIOC_TRY_FMT = 3234879040 VIDIOC_UNSUBSCRIBE_EVENT = 1075861083 __NR_ioctl = 29 +__NR_openat = 56 diff --git a/sys/linux/dev_video4linux_vim2m.txt b/sys/linux/dev_video4linux_vim2m.txt new file mode 100644 index 000000000..d0eb6fd43 --- /dev/null +++ b/sys/linux/dev_video4linux_vim2m.txt @@ -0,0 +1,58 @@ +# Copyright 2020 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. + +# V4L2 specific support for the vim2m driver. +# +# These descriptions narrow the search space to focus on the M2M +# framework code. The vim2m driver should be built into the kernel +# (CONFIG_VIDEO_VI2M2=y) + +include +include +include +include +include +include +include +include +include +include + +resource fd_vim2m[fd] + +# syz_open_dev will use devices from /dev/video0 to /dev/video10 +# openat$vim2m assumes a symlink (/dev/vim2m) to the appropriate vim2m device +# This can be set with a udev rule such as this: +# +# ATTR{name}=="vim2m", SYMLINK+="vim2m" + +syz_open_dev$vim2m(dev ptr[in, string["/dev/video#"]], id intptr, flags const[O_RDWR]) fd_vim2m +openat$vim2m(fd const[AT_FDCWD], file ptr[in, string["/dev/vim2m"]], flags const[O_RDWR], mode const[0]) fd_vim2m + +# Specialized ioctls for vim2m + +ioctl$vim2m_VIDIOC_QUERYCAP(fd fd_vim2m, cmd const[VIDIOC_QUERYCAP], arg ptr[out, v4l2_capability]) +ioctl$vim2m_VIDIOC_ENUM_FMT(fd fd_vim2m, cmd const[VIDIOC_ENUM_FMT], arg ptr[inout, v4l2_fmtdesc[v4l2_buf_type_vim2m]]) +ioctl$vim2m_VIDIOC_ENUM_FRAMESIZES(fd fd_vim2m, cmd const[VIDIOC_ENUM_FRAMESIZES], arg ptr[inout, v4l2_frmsizeenum]) +ioctl$vim2m_VIDIOC_G_FMT(fd fd_vim2m, cmd const[VIDIOC_G_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type_vim2m]]) +ioctl$vim2m_VIDIOC_TRY_FMT(fd fd_vim2m, cmd const[VIDIOC_TRY_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type_vim2m]]) +ioctl$vim2m_VIDIOC_S_FMT(fd fd_vim2m, cmd const[VIDIOC_S_FMT], arg ptr[inout, v4l2_format[v4l2_buf_type_vim2m]]) +ioctl$vim2m_VIDIOC_REQBUFS(fd fd_vim2m, cmd const[VIDIOC_REQBUFS], arg ptr[inout, v4l2_requestbuffers[v4l2_buf_type_vim2m]]) +ioctl$vim2m_VIDIOC_QUERYBUF(fd fd_vim2m, cmd const[VIDIOC_QUERYBUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type_vim2m, fd_request]]) +ioctl$vim2m_VIDIOC_QBUF(fd fd_vim2m, cmd const[VIDIOC_QBUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type_vim2m, fd_request]]) +ioctl$vim2m_VIDIOC_DQBUF(fd fd_vim2m, cmd const[VIDIOC_DQBUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type_vim2m, fd_request]]) +ioctl$vim2m_VIDIOC_PREPARE_BUF(fd fd_vim2m, cmd const[VIDIOC_PREPARE_BUF], arg ptr[inout, v4l2_buffer[v4l2_buf_type_vim2m, fd_request]]) +ioctl$vim2m_VIDIOC_CREATE_BUFS(fd fd_vim2m, cmd const[VIDIOC_CREATE_BUFS], arg ptr[inout, v4l2_create_buffers[v4l2_buf_type_vim2m]]) +ioctl$vim2m_VIDIOC_EXPBUF(fd fd_vim2m, cmd const[VIDIOC_EXPBUF], arg ptr[inout, v4l2_exportbuffer[v4l2_buf_type_vim2m]]) +ioctl$vim2m_VIDIOC_S_CTRL(fd fd_vim2m, cmd const[VIDIOC_S_CTRL], arg ptr[inout, v4l2_control]) +ioctl$vim2m_VIDIOC_STREAMON(fd fd_vim2m, cmd const[VIDIOC_STREAMON], arg ptr[in, vim2m_qtype]) +ioctl$vim2m_VIDIOC_STREAMOFF(fd fd_vim2m, cmd const[VIDIOC_STREAMON], arg ptr[in, vim2m_qtype]) + +# Limit buffer types to OUTPUT and CAPTURE + +vim2m_qtype [ + output const[V4L2_BUF_TYPE_VIDEO_OUTPUT, int32] + capture const[V4L2_BUF_TYPE_VIDEO_CAPTURE, int32] +] + +v4l2_buf_type_vim2m = V4L2_BUF_TYPE_VIDEO_CAPTURE, V4L2_BUF_TYPE_VIDEO_OUTPUT diff --git a/sys/linux/dev_video4linux_vim2m_amd64.const b/sys/linux/dev_video4linux_vim2m_amd64.const new file mode 100644 index 000000000..e580db196 --- /dev/null +++ b/sys/linux/dev_video4linux_vim2m_amd64.const @@ -0,0 +1,22 @@ +# AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 +O_RDWR = 2 +V4L2_BUF_TYPE_VIDEO_CAPTURE = 1 +V4L2_BUF_TYPE_VIDEO_OUTPUT = 2 +VIDIOC_CREATE_BUFS = 3238024796 +VIDIOC_DQBUF = 3227014673 +VIDIOC_ENUM_FMT = 3225441794 +VIDIOC_ENUM_FRAMESIZES = 3224131146 +VIDIOC_EXPBUF = 3225441808 +VIDIOC_G_FMT = 3234878980 +VIDIOC_PREPARE_BUF = 3227014749 +VIDIOC_QBUF = 3227014671 +VIDIOC_QUERYBUF = 3227014665 +VIDIOC_QUERYCAP = 2154321408 +VIDIOC_REQBUFS = 3222558216 +VIDIOC_STREAMON = 1074026002 +VIDIOC_S_CTRL = 3221771804 +VIDIOC_S_FMT = 3234878981 +VIDIOC_TRY_FMT = 3234879040 +__NR_ioctl = 16 +__NR_openat = 257 diff --git a/sys/linux/dev_video4linux_vim2m_arm64.const b/sys/linux/dev_video4linux_vim2m_arm64.const new file mode 100644 index 000000000..a8f712fa9 --- /dev/null +++ b/sys/linux/dev_video4linux_vim2m_arm64.const @@ -0,0 +1,22 @@ +# AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 +O_RDWR = 2 +V4L2_BUF_TYPE_VIDEO_CAPTURE = 1 +V4L2_BUF_TYPE_VIDEO_OUTPUT = 2 +VIDIOC_CREATE_BUFS = 3238024796 +VIDIOC_DQBUF = 3227014673 +VIDIOC_ENUM_FMT = 3225441794 +VIDIOC_ENUM_FRAMESIZES = 3224131146 +VIDIOC_EXPBUF = 3225441808 +VIDIOC_G_FMT = 3234878980 +VIDIOC_PREPARE_BUF = 3227014749 +VIDIOC_QBUF = 3227014671 +VIDIOC_QUERYBUF = 3227014665 +VIDIOC_QUERYCAP = 2154321408 +VIDIOC_REQBUFS = 3222558216 +VIDIOC_STREAMON = 1074026002 +VIDIOC_S_CTRL = 3221771804 +VIDIOC_S_FMT = 3234878981 +VIDIOC_TRY_FMT = 3234879040 +__NR_ioctl = 29 +__NR_openat = 56 diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt index 93ae625dc..f0508ff6e 100644 --- a/sys/linux/sys.txt +++ b/sys/linux/sys.txt @@ -508,7 +508,7 @@ syz_open_dev$vcsu(dev ptr[in, string["/dev/vcsu#"]], id intptr, flags flags[open syz_open_dev$ircomm(dev ptr[in, string["/dev/ircomm#"]], id intptr, flags flags[open_flags]) fd syz_open_dev$audion(dev ptr[in, string["/dev/audio#"]], id intptr, flags flags[open_flags]) fd syz_open_dev$sndhw(dev ptr[in, string["/dev/snd/hwC#D#"]], id intptr, flags flags[open_flags]) fd -syz_open_dev$media(dev ptr[in, string["/dev/media#"]], id intptr, flags flags[open_flags]) fd +syz_open_dev$media(dev ptr[in, string["/dev/media#"]], id intptr, flags flags[open_flags]) fd_media openat$null(fd const[AT_FDCWD], file ptr[in, string["/dev/null"]], flags flags[open_flags], mode const[0]) fd openat$zero(fd const[AT_FDCWD], file ptr[in, string["/dev/zero"]], flags flags[open_flags], mode const[0]) fd -- cgit mrf-deployment