# 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 include 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 }