aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/dev_snd_hw.txt75
-rw-r--r--sys/linux/dev_snd_hw_386.const18
-rw-r--r--sys/linux/dev_snd_hw_amd64.const18
-rw-r--r--sys/linux/dev_snd_hw_arm.const18
-rw-r--r--sys/linux/dev_snd_hw_arm64.const18
-rw-r--r--sys/linux/dev_snd_hw_ppc64le.const18
-rw-r--r--sys/linux/dev_snd_hw_riscv64.const18
-rw-r--r--sys/linux/dev_snd_hw_s390x.const18
-rw-r--r--sys/linux/sys.txt1
9 files changed, 201 insertions, 1 deletions
diff --git a/sys/linux/dev_snd_hw.txt b/sys/linux/dev_snd_hw.txt
new file mode 100644
index 000000000..06288db15
--- /dev/null
+++ b/sys/linux/dev_snd_hw.txt
@@ -0,0 +1,75 @@
+# Copyright 2020 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/asm/ioctl.h>
+include <uapi/linux/fcntl.h>
+include <uapi/linux/time.h>
+include <uapi/sound/asound.h>
+include <uapi/sound/firewire.h>
+
+resource fd_snd_hw[fd]
+
+syz_open_dev$sndhw(dev ptr[in, string["/dev/snd/hwC#D#"]], id intptr, flags flags[open_flags]) fd_snd_hw
+read$sndhw(fd fd_snd_hw, buffer ptr[out, array[int8]], count bytesize[buffer])
+write$sndhw(fd fd_snd_hw, buffer ptr[in, array[int8]], count bytesize[buffer])
+
+# This syscall requires actual firewire hardware.
+write$sndhw_fireworks(fd fd_snd_hw, buffer ptr[in, snd_efw_transaction], count bytesize[buffer])
+
+ioctl$SNDRV_HWDEP_IOCTL_PVERSION(fd fd_snd_hw, cmd const[SNDRV_HWDEP_IOCTL_PVERSION], arg ptr[out, int32])
+ioctl$SNDRV_HWDEP_IOCTL_INFO(fd fd_snd_hw, cmd const[SNDRV_HWDEP_IOCTL_INFO], arg ptr[out, snd_hwdep_info])
+ioctl$SNDRV_HWDEP_IOCTL_DSP_STATUS(fd fd_snd_hw, cmd const[SNDRV_HWDEP_IOCTL_DSP_STATUS], arg ptr[out, snd_hwdep_dsp_status])
+ioctl$SNDRV_HWDEP_IOCTL_DSP_LOAD(fd fd_snd_hw, cmd const[SNDRV_HWDEP_IOCTL_DSP_LOAD], arg ptr[in, snd_hwdep_dsp_image])
+
+# These ioctls require actual firewire hardware.
+ioctl$SNDRV_FIREWIRE_IOCTL_GET_INFO(fd fd_snd_hw, cmd const[SNDRV_FIREWIRE_IOCTL_GET_INFO], arg ptr[out, snd_firewire_get_info])
+ioctl$SNDRV_FIREWIRE_IOCTL_LOCK(fd fd_snd_hw, cmd const[SNDRV_FIREWIRE_IOCTL_LOCK])
+ioctl$SNDRV_FIREWIRE_IOCTL_UNLOCK(fd fd_snd_hw, cmd const[SNDRV_FIREWIRE_IOCTL_UNLOCK])
+ioctl$SNDRV_FIREWIRE_IOCTL_TASCAM_STATE(fd fd_snd_hw, cmd const[SNDRV_FIREWIRE_IOCTL_TASCAM_STATE], arg ptr[out, snd_firewire_tascam_state])
+
+snd_hwdep_info {
+ device int32
+ card int32
+ id array[int8, 64]
+ name array[int8, 80]
+ iface int32[SNDRV_HWDEP_IFACE_OPL2:SNDRV_HWDEP_IFACE_LAST]
+ reserved array[int8, 64]
+}
+
+snd_hwdep_dsp_status {
+ version int32
+ id array[int8, 32]
+ num_dsps int32
+ dsp_loaded int32
+ chip_ready int32
+ reserved array[int8, 16]
+}
+
+snd_hwdep_dsp_image {
+ index int32[0:31]
+ name array[int8, 64]
+ image ptr[in, array[int8]]
+ length bytesize[image, intptr]
+ driver_data intptr
+}
+
+snd_firewire_get_info {
+ type int32[SNDRV_FIREWIRE_TYPE_DICE:SNDRV_FIREWIRE_TYPE_FIREFACE]
+ index int32
+ quid array[int32be, 2]
+ device_name array[int8, 16]
+}
+
+snd_firewire_tascam_state {
+ data array[int32be, SNDRV_FIREWIRE_TASCAM_STATE_COUNT]
+}
+
+snd_efw_transaction {
+ length int32be
+ version int32be
+ seqnum int32be[0:SND_EFW_TRANSACTION_USER_SEQNUM_MAX]
+ category int32be
+ command int32be
+ status int32be
+ params array[int32be]
+}
diff --git a/sys/linux/dev_snd_hw_386.const b/sys/linux/dev_snd_hw_386.const
new file mode 100644
index 000000000..3b4c233f9
--- /dev/null
+++ b/sys/linux/dev_snd_hw_386.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+SNDRV_FIREWIRE_IOCTL_GET_INFO = 2149599480
+SNDRV_FIREWIRE_IOCTL_LOCK = 18681
+SNDRV_FIREWIRE_IOCTL_TASCAM_STATE = 2164279547
+SNDRV_FIREWIRE_IOCTL_UNLOCK = 18682
+SNDRV_FIREWIRE_TASCAM_STATE_COUNT = 64
+SNDRV_FIREWIRE_TYPE_DICE = 1
+SNDRV_FIREWIRE_TYPE_FIREFACE = 8
+SNDRV_HWDEP_IFACE_LAST = 26
+SNDRV_HWDEP_IFACE_OPL2 = 0
+SNDRV_HWDEP_IOCTL_DSP_LOAD = 1079003139
+SNDRV_HWDEP_IOCTL_DSP_STATUS = 2151696386
+SNDRV_HWDEP_IOCTL_INFO = 2161920001
+SNDRV_HWDEP_IOCTL_PVERSION = 2147764224
+SND_EFW_TRANSACTION_USER_SEQNUM_MAX = 65534
+__NR_ioctl = 54
+__NR_read = 3
+__NR_write = 4
diff --git a/sys/linux/dev_snd_hw_amd64.const b/sys/linux/dev_snd_hw_amd64.const
new file mode 100644
index 000000000..c2e9824cd
--- /dev/null
+++ b/sys/linux/dev_snd_hw_amd64.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+SNDRV_FIREWIRE_IOCTL_GET_INFO = 2149599480
+SNDRV_FIREWIRE_IOCTL_LOCK = 18681
+SNDRV_FIREWIRE_IOCTL_TASCAM_STATE = 2164279547
+SNDRV_FIREWIRE_IOCTL_UNLOCK = 18682
+SNDRV_FIREWIRE_TASCAM_STATE_COUNT = 64
+SNDRV_FIREWIRE_TYPE_DICE = 1
+SNDRV_FIREWIRE_TYPE_FIREFACE = 8
+SNDRV_HWDEP_IFACE_LAST = 26
+SNDRV_HWDEP_IFACE_OPL2 = 0
+SNDRV_HWDEP_IOCTL_DSP_LOAD = 1080051715
+SNDRV_HWDEP_IOCTL_DSP_STATUS = 2151696386
+SNDRV_HWDEP_IOCTL_INFO = 2161920001
+SNDRV_HWDEP_IOCTL_PVERSION = 2147764224
+SND_EFW_TRANSACTION_USER_SEQNUM_MAX = 65534
+__NR_ioctl = 16
+__NR_read = 0
+__NR_write = 1
diff --git a/sys/linux/dev_snd_hw_arm.const b/sys/linux/dev_snd_hw_arm.const
new file mode 100644
index 000000000..3b4c233f9
--- /dev/null
+++ b/sys/linux/dev_snd_hw_arm.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+SNDRV_FIREWIRE_IOCTL_GET_INFO = 2149599480
+SNDRV_FIREWIRE_IOCTL_LOCK = 18681
+SNDRV_FIREWIRE_IOCTL_TASCAM_STATE = 2164279547
+SNDRV_FIREWIRE_IOCTL_UNLOCK = 18682
+SNDRV_FIREWIRE_TASCAM_STATE_COUNT = 64
+SNDRV_FIREWIRE_TYPE_DICE = 1
+SNDRV_FIREWIRE_TYPE_FIREFACE = 8
+SNDRV_HWDEP_IFACE_LAST = 26
+SNDRV_HWDEP_IFACE_OPL2 = 0
+SNDRV_HWDEP_IOCTL_DSP_LOAD = 1079003139
+SNDRV_HWDEP_IOCTL_DSP_STATUS = 2151696386
+SNDRV_HWDEP_IOCTL_INFO = 2161920001
+SNDRV_HWDEP_IOCTL_PVERSION = 2147764224
+SND_EFW_TRANSACTION_USER_SEQNUM_MAX = 65534
+__NR_ioctl = 54
+__NR_read = 3
+__NR_write = 4
diff --git a/sys/linux/dev_snd_hw_arm64.const b/sys/linux/dev_snd_hw_arm64.const
new file mode 100644
index 000000000..e59032fb3
--- /dev/null
+++ b/sys/linux/dev_snd_hw_arm64.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+SNDRV_FIREWIRE_IOCTL_GET_INFO = 2149599480
+SNDRV_FIREWIRE_IOCTL_LOCK = 18681
+SNDRV_FIREWIRE_IOCTL_TASCAM_STATE = 2164279547
+SNDRV_FIREWIRE_IOCTL_UNLOCK = 18682
+SNDRV_FIREWIRE_TASCAM_STATE_COUNT = 64
+SNDRV_FIREWIRE_TYPE_DICE = 1
+SNDRV_FIREWIRE_TYPE_FIREFACE = 8
+SNDRV_HWDEP_IFACE_LAST = 26
+SNDRV_HWDEP_IFACE_OPL2 = 0
+SNDRV_HWDEP_IOCTL_DSP_LOAD = 1080051715
+SNDRV_HWDEP_IOCTL_DSP_STATUS = 2151696386
+SNDRV_HWDEP_IOCTL_INFO = 2161920001
+SNDRV_HWDEP_IOCTL_PVERSION = 2147764224
+SND_EFW_TRANSACTION_USER_SEQNUM_MAX = 65534
+__NR_ioctl = 29
+__NR_read = 63
+__NR_write = 64
diff --git a/sys/linux/dev_snd_hw_ppc64le.const b/sys/linux/dev_snd_hw_ppc64le.const
new file mode 100644
index 000000000..1d915d8d1
--- /dev/null
+++ b/sys/linux/dev_snd_hw_ppc64le.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+SNDRV_FIREWIRE_IOCTL_GET_INFO = 1075857656
+SNDRV_FIREWIRE_IOCTL_LOCK = 536889593
+SNDRV_FIREWIRE_IOCTL_TASCAM_STATE = 1090537723
+SNDRV_FIREWIRE_IOCTL_UNLOCK = 536889594
+SNDRV_FIREWIRE_TASCAM_STATE_COUNT = 64
+SNDRV_FIREWIRE_TYPE_DICE = 1
+SNDRV_FIREWIRE_TYPE_FIREFACE = 8
+SNDRV_HWDEP_IFACE_LAST = 26
+SNDRV_HWDEP_IFACE_OPL2 = 0
+SNDRV_HWDEP_IOCTL_DSP_LOAD = 2153793539
+SNDRV_HWDEP_IOCTL_DSP_STATUS = 1077954562
+SNDRV_HWDEP_IOCTL_INFO = 1088178177
+SNDRV_HWDEP_IOCTL_PVERSION = 1074022400
+SND_EFW_TRANSACTION_USER_SEQNUM_MAX = 65534
+__NR_ioctl = 54
+__NR_read = 3
+__NR_write = 4
diff --git a/sys/linux/dev_snd_hw_riscv64.const b/sys/linux/dev_snd_hw_riscv64.const
new file mode 100644
index 000000000..e59032fb3
--- /dev/null
+++ b/sys/linux/dev_snd_hw_riscv64.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+SNDRV_FIREWIRE_IOCTL_GET_INFO = 2149599480
+SNDRV_FIREWIRE_IOCTL_LOCK = 18681
+SNDRV_FIREWIRE_IOCTL_TASCAM_STATE = 2164279547
+SNDRV_FIREWIRE_IOCTL_UNLOCK = 18682
+SNDRV_FIREWIRE_TASCAM_STATE_COUNT = 64
+SNDRV_FIREWIRE_TYPE_DICE = 1
+SNDRV_FIREWIRE_TYPE_FIREFACE = 8
+SNDRV_HWDEP_IFACE_LAST = 26
+SNDRV_HWDEP_IFACE_OPL2 = 0
+SNDRV_HWDEP_IOCTL_DSP_LOAD = 1080051715
+SNDRV_HWDEP_IOCTL_DSP_STATUS = 2151696386
+SNDRV_HWDEP_IOCTL_INFO = 2161920001
+SNDRV_HWDEP_IOCTL_PVERSION = 2147764224
+SND_EFW_TRANSACTION_USER_SEQNUM_MAX = 65534
+__NR_ioctl = 29
+__NR_read = 63
+__NR_write = 64
diff --git a/sys/linux/dev_snd_hw_s390x.const b/sys/linux/dev_snd_hw_s390x.const
new file mode 100644
index 000000000..dade4d678
--- /dev/null
+++ b/sys/linux/dev_snd_hw_s390x.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+SNDRV_FIREWIRE_IOCTL_GET_INFO = 2149599480
+SNDRV_FIREWIRE_IOCTL_LOCK = 18681
+SNDRV_FIREWIRE_IOCTL_TASCAM_STATE = 2164279547
+SNDRV_FIREWIRE_IOCTL_UNLOCK = 18682
+SNDRV_FIREWIRE_TASCAM_STATE_COUNT = 64
+SNDRV_FIREWIRE_TYPE_DICE = 1
+SNDRV_FIREWIRE_TYPE_FIREFACE = 8
+SNDRV_HWDEP_IFACE_LAST = 26
+SNDRV_HWDEP_IFACE_OPL2 = 0
+SNDRV_HWDEP_IOCTL_DSP_LOAD = 1080051715
+SNDRV_HWDEP_IOCTL_DSP_STATUS = 2151696386
+SNDRV_HWDEP_IOCTL_INFO = 2161920001
+SNDRV_HWDEP_IOCTL_PVERSION = 2147764224
+SND_EFW_TRANSACTION_USER_SEQNUM_MAX = 65534
+__NR_ioctl = 54
+__NR_read = 3
+__NR_write = 4
diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt
index f567e4fa9..cd30c0120 100644
--- a/sys/linux/sys.txt
+++ b/sys/linux/sys.txt
@@ -548,7 +548,6 @@ openat$vcsu(fd const[AT_FDCWD], file ptr[in, string["/dev/vcsu"]], flags flags[o
syz_open_dev$vcsu(dev ptr[in, string["/dev/vcsu#"]], id intptr, flags flags[open_flags]) fd
syz_open_dev$ircomm(dev ptr[in, string["/dev/ircomm#"]], id intptr, flags flags[open_flags]) fd
syz_open_dev$audion(dev ptr[in, string["/dev/audio#"]], id intptr, flags flags[open_flags]) fd
-syz_open_dev$sndhw(dev ptr[in, string["/dev/snd/hwC#D#"]], id intptr, flags flags[open_flags]) fd
syz_open_dev$media(dev ptr[in, string["/dev/media#"]], id intptr, flags flags[open_flags]) fd_media
openat$null(fd const[AT_FDCWD], file ptr[in, string["/dev/null"]], flags flags[open_flags], mode const[0]) fd