diff options
Diffstat (limited to 'executor')
| -rw-r--r-- | executor/executor.cc | 6 | ||||
| -rw-r--r-- | executor/syscalls.h | 66 |
2 files changed, 72 insertions, 0 deletions
diff --git a/executor/executor.cc b/executor/executor.cc index 7ef506f08..20beb728f 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -361,7 +361,13 @@ thread_t* schedule_call(int n, int call_index, int call_num, uint64_t num_args, case __NR_syz_fuse_mount: case __NR_syz_fuseblk_mount: root = true; + default: + if (strcmp(syscalls[call_num] + .name, + "open$sndseq") == 0) + root = true; } + // Find a spare thread to execute the call. int i; for (i = 0; i < kMaxThreads; i++) { diff --git a/executor/syscalls.h b/executor/syscalls.h index 8a8c98c86..a5c0b28b9 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -799,6 +799,39 @@ call_t syscalls[] = { {"ioctl$KVM_SET_GUEST_DEBUG", 16}, {"ioctl$KVM_SMI", 16}, {"open$xenevtchn", 2}, + {"open$sndseq", 2}, + {"write$sndseq", 1}, + {"ioctl$SNDRV_SEQ_IOCTL_PVERSION", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_CLIENT_ID", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SYSTEM_INFO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_RUNNING_MODE", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_CLIENT_INFO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_INFO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_CREATE_PORT", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_DELETE_PORT", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_PORT_INFO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_PORT_INFO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_DELETE_QUEUE", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_INFO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_INFO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_CLIENT_POOL", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_POOL", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_QUERY_SUBS", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT", 16}, + {"ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT", 16}, }; #endif @@ -1590,6 +1623,39 @@ call_t syscalls[] = { {"ioctl$KVM_SET_GUEST_DEBUG", 29}, {"ioctl$KVM_SMI", 29}, {"open$xenevtchn", -1}, + {"open$sndseq", -1}, + {"write$sndseq", 64}, + {"ioctl$SNDRV_SEQ_IOCTL_PVERSION", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_CLIENT_ID", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SYSTEM_INFO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_RUNNING_MODE", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_CLIENT_INFO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_INFO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_CREATE_PORT", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_DELETE_PORT", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_PORT_INFO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_PORT_INFO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_DELETE_QUEUE", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_INFO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_INFO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_CLIENT_POOL", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_SET_CLIENT_POOL", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_REMOVE_EVENTS", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_QUERY_SUBS", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT", 29}, + {"ioctl$SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT", 29}, }; #endif |
