blob: 1ce34c6f9a269b05e6d322f455288ca5f85fb7da [file] [log] [blame]
# Copyright 2016 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.
# billylau@
# Description of ioctl calls for /dev/ion, which is based off of 3.18 kernel.
# TODO: ION_IOC_HEAP_QUERY is detected for 4.10 upstream, but not covered in this description.
include <asm/ioctl.h>
include <linux/fcntl.h>
include <../drivers/staging/android/uapi/ion.h>
resource fd_ion[fd]
resource fd_ion_generic[fd]
resource ion_handle[int32]
openat$ion(fd const[AT_FDCWD], file ptr[in, string["/dev/ion"]], flags flags[open_flags], mode const[0]) fd_ion
ioctl$ION_IOC_ALLOC(fd fd_ion, cmd const[ION_IOC_ALLOC], arg ptr[inout, ion_allocation_data])
ioctl$ION_IOC_FREE(fd fd_ion, cmd const[ION_IOC_FREE], arg ptr[in, ion_handle_data])
ioctl$ION_IOC_MAP(fd fd_ion, cmd const[ION_IOC_MAP], arg ptr[inout, ion_fd_data])
ioctl$ION_IOC_SHARE(fd fd_ion, cmd const[ION_IOC_SHARE], arg ptr[inout, ion_fd_data])
ioctl$ION_IOC_IMPORT(fd fd_ion, cmd const[ION_IOC_IMPORT], arg ptr[inout, ion_fd_data])
ioctl$ION_IOC_SYNC(fd fd_ion, cmd const[ION_IOC_SYNC], arg ptr[inout, ion_fd_data])
ioctl$ION_IOC_CUSTOM(fd fd_ion, cmd const[ION_IOC_CUSTOM], arg ptr[inout, ion_custom_data])
ion_allocation_data {
len intptr
align intptr
heapid int32
flags int32
handle ion_handle
}
ion_handle_data {
handle ion_handle
}
ion_fd_data {
handle ion_handle
fd fd_ion_generic
}
ion_custom_data {
cmd int32
arg intptr
}