From dd563098638ae463af3cb45550e35b2180f193f0 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 25 Sep 2017 08:47:30 +0200 Subject: sys/fuchsia: describe more syscalls --- executor/common_fuchsia.h | 28 ++++++++ executor/syscalls_fuchsia.h | 168 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 188 insertions(+), 8 deletions(-) (limited to 'executor') diff --git a/executor/common_fuchsia.h b/executor/common_fuchsia.h index 189e7bc3c..e6ccddffe 100644 --- a/executor/common_fuchsia.h +++ b/executor/common_fuchsia.h @@ -49,3 +49,31 @@ long syz_mmap(size_t addr, size_t size) return status; } #endif + +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_process_self) +long syz_process_self() +{ + return zx_process_self(); +} +#endif + +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_thread_self) +long syz_thread_self() +{ + return zx_thread_self(); +} +#endif + +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_vmar_root_self) +long syz_vmar_root_self() +{ + return zx_vmar_root_self(); +} +#endif + +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_job_default) +long syz_job_default() +{ + return zx_job_default(); +} +#endif diff --git a/executor/syscalls_fuchsia.h b/executor/syscalls_fuchsia.h index 7d4eb574b..b169f74d9 100644 --- a/executor/syscalls_fuchsia.h +++ b/executor/syscalls_fuchsia.h @@ -2,32 +2,184 @@ #if defined(__x86_64__) || 0 #define GOARCH "amd64" -#define SYZ_REVISION "9b1c1a07ba105b616c1fb926256ea6a00b57b664" -#define __NR_syz_mmap 1000000 +#define SYZ_REVISION "3b490e61c63ea05eb2c4569ba31e8335f65af325" +#define __NR_syz_job_default 1000000 +#define __NR_syz_mmap 1000001 +#define __NR_syz_process_self 1000002 +#define __NR_syz_thread_self 1000003 +#define __NR_syz_vmar_root_self 1000004 -unsigned syscall_count = 5; +unsigned syscall_count = 77; call_t syscalls[] = { - {"syz_mmap", 1000000, (syscall_t)syz_mmap}, + {"syz_job_default", 1000000, (syscall_t)syz_job_default}, + {"syz_mmap", 1000001, (syscall_t)syz_mmap}, + {"syz_process_self", 1000002, (syscall_t)syz_process_self}, + {"syz_thread_self", 1000003, (syscall_t)syz_thread_self}, + {"syz_vmar_root_self", 1000004, (syscall_t)syz_vmar_root_self}, + {"zx_channel_call", 0, (syscall_t)zx_channel_call}, + {"zx_channel_create", 0, (syscall_t)zx_channel_create}, + {"zx_channel_read", 0, (syscall_t)zx_channel_read}, + {"zx_channel_write", 0, (syscall_t)zx_channel_write}, + {"zx_cprng_add_entropy", 0, (syscall_t)zx_cprng_add_entropy}, + {"zx_cprng_draw", 0, (syscall_t)zx_cprng_draw}, + {"zx_event_create", 0, (syscall_t)zx_event_create}, + {"zx_eventpair_create", 0, (syscall_t)zx_eventpair_create}, + {"zx_fifo_create", 0, (syscall_t)zx_fifo_create}, + {"zx_fifo_read", 0, (syscall_t)zx_fifo_read}, + {"zx_fifo_write", 0, (syscall_t)zx_fifo_write}, + {"zx_futex_requeue", 0, (syscall_t)zx_futex_requeue}, + {"zx_futex_wait", 0, (syscall_t)zx_futex_wait}, + {"zx_futex_wake", 0, (syscall_t)zx_futex_wake}, + {"zx_futex_wake_handle_close_thread_exit", 0, (syscall_t)zx_futex_wake_handle_close_thread_exit}, {"zx_handle_close", 0, (syscall_t)zx_handle_close}, {"zx_handle_duplicate", 0, (syscall_t)zx_handle_duplicate}, {"zx_handle_replace", 0, (syscall_t)zx_handle_replace}, + {"zx_job_create", 0, (syscall_t)zx_job_create}, + {"zx_job_set_policy", 0, (syscall_t)zx_job_set_policy}, + {"zx_job_set_relative_importance", 0, (syscall_t)zx_job_set_relative_importance}, + {"zx_log_create", 0, (syscall_t)zx_log_create}, + {"zx_log_read", 0, (syscall_t)zx_log_read}, + {"zx_log_write", 0, (syscall_t)zx_log_write}, + {"zx_nanosleep", 0, (syscall_t)zx_nanosleep}, + {"zx_object_get_child", 0, (syscall_t)zx_object_get_child}, + {"zx_object_get_cookie", 0, (syscall_t)zx_object_get_cookie}, + {"zx_object_get_info$ZX_INFO_CPU_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_HANDLE_BASIC", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_HANDLE_VALID", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_JOB_CHILDREN", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_JOB_PROCESSES", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_KMEM_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS_MAPS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS_THREADS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS_VMOS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_RESOURCE", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_TASK_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_THREAD_EXCEPTION_REPORT", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_THREAD_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_VMAR", 0, (syscall_t)zx_object_get_info}, + {"zx_port_cancel", 0, (syscall_t)zx_port_cancel}, + {"zx_port_create", 0, (syscall_t)zx_port_create}, + {"zx_port_queue", 0, (syscall_t)zx_port_queue}, + {"zx_port_wait", 0, (syscall_t)zx_port_wait}, + {"zx_process_create", 0, (syscall_t)zx_process_create}, + {"zx_process_exit", 0, (syscall_t)zx_process_exit}, + {"zx_process_read_memory", 0, (syscall_t)zx_process_read_memory}, + {"zx_process_start", 0, (syscall_t)zx_process_start}, + {"zx_process_write_memory", 0, (syscall_t)zx_process_write_memory}, + {"zx_socket_create", 0, (syscall_t)zx_socket_create}, + {"zx_socket_read", 0, (syscall_t)zx_socket_read}, + {"zx_socket_write", 0, (syscall_t)zx_socket_write}, + {"zx_system_get_num_cpus", 0, (syscall_t)zx_system_get_num_cpus}, + {"zx_system_get_physmem", 0, (syscall_t)zx_system_get_physmem}, + {"zx_system_get_version", 0, (syscall_t)zx_system_get_version}, + {"zx_task_bind_exception_port", 0, (syscall_t)zx_task_bind_exception_port}, + {"zx_task_kill", 0, (syscall_t)zx_task_kill}, + {"zx_task_resume", 0, (syscall_t)zx_task_resume}, + {"zx_thread_create", 0, (syscall_t)zx_thread_create}, + {"zx_thread_exit", 0, (syscall_t)zx_thread_exit}, + {"zx_thread_read_state", 0, (syscall_t)zx_thread_read_state}, + {"zx_thread_start", 0, (syscall_t)zx_thread_start}, + {"zx_thread_write_state", 0, (syscall_t)zx_thread_write_state}, + {"zx_ticks_get", 0, (syscall_t)zx_ticks_get}, + {"zx_ticks_per_second", 0, (syscall_t)zx_ticks_per_second}, {"zx_time_get", 0, (syscall_t)zx_time_get}, + {"zx_timer_cancel", 0, (syscall_t)zx_timer_cancel}, + {"zx_timer_create", 0, (syscall_t)zx_timer_create}, + {"zx_timer_set", 0, (syscall_t)zx_timer_set}, + {"zx_vmar_unmap_handle_close_thread_exit", 0, (syscall_t)zx_vmar_unmap_handle_close_thread_exit}, }; #endif #if defined(__aarch64__) || 0 #define GOARCH "arm64" -#define SYZ_REVISION "9e985d79861e2754a6fead2a7c97ca4854e3df44" -#define __NR_syz_mmap 1000000 +#define SYZ_REVISION "7aa3efd28c51db95f99f7b3c8feb4f66ad25f0d8" +#define __NR_syz_job_default 1000000 +#define __NR_syz_mmap 1000001 +#define __NR_syz_process_self 1000002 +#define __NR_syz_thread_self 1000003 +#define __NR_syz_vmar_root_self 1000004 -unsigned syscall_count = 5; +unsigned syscall_count = 77; call_t syscalls[] = { - {"syz_mmap", 1000000, (syscall_t)syz_mmap}, + {"syz_job_default", 1000000, (syscall_t)syz_job_default}, + {"syz_mmap", 1000001, (syscall_t)syz_mmap}, + {"syz_process_self", 1000002, (syscall_t)syz_process_self}, + {"syz_thread_self", 1000003, (syscall_t)syz_thread_self}, + {"syz_vmar_root_self", 1000004, (syscall_t)syz_vmar_root_self}, + {"zx_channel_call", 0, (syscall_t)zx_channel_call}, + {"zx_channel_create", 0, (syscall_t)zx_channel_create}, + {"zx_channel_read", 0, (syscall_t)zx_channel_read}, + {"zx_channel_write", 0, (syscall_t)zx_channel_write}, + {"zx_cprng_add_entropy", 0, (syscall_t)zx_cprng_add_entropy}, + {"zx_cprng_draw", 0, (syscall_t)zx_cprng_draw}, + {"zx_event_create", 0, (syscall_t)zx_event_create}, + {"zx_eventpair_create", 0, (syscall_t)zx_eventpair_create}, + {"zx_fifo_create", 0, (syscall_t)zx_fifo_create}, + {"zx_fifo_read", 0, (syscall_t)zx_fifo_read}, + {"zx_fifo_write", 0, (syscall_t)zx_fifo_write}, + {"zx_futex_requeue", 0, (syscall_t)zx_futex_requeue}, + {"zx_futex_wait", 0, (syscall_t)zx_futex_wait}, + {"zx_futex_wake", 0, (syscall_t)zx_futex_wake}, + {"zx_futex_wake_handle_close_thread_exit", 0, (syscall_t)zx_futex_wake_handle_close_thread_exit}, {"zx_handle_close", 0, (syscall_t)zx_handle_close}, {"zx_handle_duplicate", 0, (syscall_t)zx_handle_duplicate}, {"zx_handle_replace", 0, (syscall_t)zx_handle_replace}, + {"zx_job_create", 0, (syscall_t)zx_job_create}, + {"zx_job_set_policy", 0, (syscall_t)zx_job_set_policy}, + {"zx_job_set_relative_importance", 0, (syscall_t)zx_job_set_relative_importance}, + {"zx_log_create", 0, (syscall_t)zx_log_create}, + {"zx_log_read", 0, (syscall_t)zx_log_read}, + {"zx_log_write", 0, (syscall_t)zx_log_write}, + {"zx_nanosleep", 0, (syscall_t)zx_nanosleep}, + {"zx_object_get_child", 0, (syscall_t)zx_object_get_child}, + {"zx_object_get_cookie", 0, (syscall_t)zx_object_get_cookie}, + {"zx_object_get_info$ZX_INFO_CPU_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_HANDLE_BASIC", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_HANDLE_VALID", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_JOB_CHILDREN", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_JOB_PROCESSES", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_KMEM_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS_MAPS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS_THREADS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_PROCESS_VMOS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_RESOURCE", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_TASK_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_THREAD_EXCEPTION_REPORT", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_THREAD_STATS", 0, (syscall_t)zx_object_get_info}, + {"zx_object_get_info$ZX_INFO_VMAR", 0, (syscall_t)zx_object_get_info}, + {"zx_port_cancel", 0, (syscall_t)zx_port_cancel}, + {"zx_port_create", 0, (syscall_t)zx_port_create}, + {"zx_port_queue", 0, (syscall_t)zx_port_queue}, + {"zx_port_wait", 0, (syscall_t)zx_port_wait}, + {"zx_process_create", 0, (syscall_t)zx_process_create}, + {"zx_process_exit", 0, (syscall_t)zx_process_exit}, + {"zx_process_read_memory", 0, (syscall_t)zx_process_read_memory}, + {"zx_process_start", 0, (syscall_t)zx_process_start}, + {"zx_process_write_memory", 0, (syscall_t)zx_process_write_memory}, + {"zx_socket_create", 0, (syscall_t)zx_socket_create}, + {"zx_socket_read", 0, (syscall_t)zx_socket_read}, + {"zx_socket_write", 0, (syscall_t)zx_socket_write}, + {"zx_system_get_num_cpus", 0, (syscall_t)zx_system_get_num_cpus}, + {"zx_system_get_physmem", 0, (syscall_t)zx_system_get_physmem}, + {"zx_system_get_version", 0, (syscall_t)zx_system_get_version}, + {"zx_task_bind_exception_port", 0, (syscall_t)zx_task_bind_exception_port}, + {"zx_task_kill", 0, (syscall_t)zx_task_kill}, + {"zx_task_resume", 0, (syscall_t)zx_task_resume}, + {"zx_thread_create", 0, (syscall_t)zx_thread_create}, + {"zx_thread_exit", 0, (syscall_t)zx_thread_exit}, + {"zx_thread_read_state", 0, (syscall_t)zx_thread_read_state}, + {"zx_thread_start", 0, (syscall_t)zx_thread_start}, + {"zx_thread_write_state", 0, (syscall_t)zx_thread_write_state}, + {"zx_ticks_get", 0, (syscall_t)zx_ticks_get}, + {"zx_ticks_per_second", 0, (syscall_t)zx_ticks_per_second}, {"zx_time_get", 0, (syscall_t)zx_time_get}, + {"zx_timer_cancel", 0, (syscall_t)zx_timer_cancel}, + {"zx_timer_create", 0, (syscall_t)zx_timer_create}, + {"zx_timer_set", 0, (syscall_t)zx_timer_set}, + {"zx_vmar_unmap_handle_close_thread_exit", 0, (syscall_t)zx_vmar_unmap_handle_close_thread_exit}, }; #endif -- cgit mrf-deployment