blob: 16c2b4366294ef0e73e28ad2432372355fb6bcf1 [file] [log] [blame]
# Copyright 2018 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 <uapi/linux/udmabuf.h>
resource fd_udambuf[fd]
openat$udambuf(fd const[AT_FDCWD], file ptr[in, string["/dev/udmabuf"]], flags const[O_RDWR]) fd_udambuf
ioctl$UDMABUF_CREATE(fd fd_udambuf, cmd const[UDMABUF_CREATE], arg ptr[in, udmabuf_create])
ioctl$UDMABUF_CREATE_LIST(fd fd_udambuf, cmd const[UDMABUF_CREATE_LIST], arg ptr[in, udmabuf_create_list])
udmabuf_create {
memfd fd_memfd
flags bool32
offset flags[udmabuf_offset_size, int64]
size flags[udmabuf_offset_size, int64]
}
udmabuf_create_list {
flags bool32
count len[list, int32]
list array[udmabuf_create_item]
}
udmabuf_create_item {
memfd fd_memfd
__pad const[0, int32]
offset flags[udmabuf_offset_size, int64]
size flags[udmabuf_offset_size, int64]
}
# NEED: this should be a page-aligned integer
udmabuf_offset_size = 0, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x1000000, 0x100000000, 0xfffff000, 0x1000000000000, 0xfffffffffffff000, 0xfffffffff0000000