aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-02-03 23:53:41 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-02-03 23:55:14 +0100
commit37210866476496903ccfeed83cc3482eaf236ceb (patch)
treebbb4c3c523a4f81c59e960f8aa2250a579a5cd8c /sys
parente9dc5a53e9a925fc2809f8ce05db7866007a6919 (diff)
sys: add /dev/loop description
Diffstat (limited to 'sys')
-rw-r--r--sys/loop.txt58
-rw-r--r--sys/loop_amd64.const29
-rw-r--r--sys/loop_arm64.const29
-rw-r--r--sys/loop_ppc64le.const29
-rw-r--r--sys/sys.txt1
5 files changed, 145 insertions, 1 deletions
diff --git a/sys/loop.txt b/sys/loop.txt
new file mode 100644
index 000000000..9371a0ac0
--- /dev/null
+++ b/sys/loop.txt
@@ -0,0 +1,58 @@
+# Copyright 2017 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 <linux/loop.h>
+
+resource fd_loop[fd]
+syz_open_dev$loop(dev ptr[in, string["/dev/loop#"]], id intptr, flags flags[open_flags]) fd_loop
+
+ioctl$LOOP_SET_FD(fd fd_loop, cmd const[LOOP_SET_FD], arg fd)
+ioctl$LOOP_CHANGE_FD(fd fd_loop, cmd const[LOOP_SET_FD], arg fd)
+ioctl$LOOP_CLR_FD(fd fd_loop, cmd const[LOOP_CLR_FD])
+ioctl$LOOP_SET_STATUS(fd fd_loop, cmd const[LOOP_SET_STATUS], arg ptr[in, loop_info])
+ioctl$LOOP_SET_STATUS64(fd fd_loop, cmd const[LOOP_SET_STATUS64], arg ptr[in, loop_info64])
+ioctl$LOOP_GET_STATUS(fd fd_loop, cmd const[LOOP_GET_STATUS], arg ptr[out, loop_info])
+ioctl$LOOP_GET_STATUS64(fd fd_loop, cmd const[LOOP_GET_STATUS64], arg ptr[out, loop_info64])
+ioctl$LOOP_SET_CAPACITY(fd fd_loop, cmd const[LOOP_SET_CAPACITY])
+ioctl$LOOP_SET_DIRECT_IO(fd fd_loop, cmd const[LOOP_SET_DIRECT_IO], arg intptr)
+
+resource fd_loop_ctrl[fd]
+resource fd_loop_num[intptr]: 0, 1, 2, 10, 11, 12
+openat$loop_ctrl(fd const[AT_FDCWD], file ptr[in, string["/dev/loop-control"]], flags flags[open_flags], mode const[0]) fd_loop_ctrl
+ioctl$LOOP_CTL_GET_FREE(fd fd_loop_ctrl, cmd const[LOOP_CTL_GET_FREE]) fd_loop_num
+ioctl$LOOP_CTL_ADD(fd fd_loop_ctrl, cmd const[LOOP_CTL_ADD], num fd_loop_num)
+ioctl$LOOP_CTL_REMOVE(fd fd_loop_ctrl, cmd const[LOOP_CTL_ADD], num fd_loop_num)
+
+lo_encrypt_type = LO_CRYPT_NONE, LO_CRYPT_XOR, LO_CRYPT_DES, LO_CRYPT_FISH2, LO_CRYPT_BLOW, LO_CRYPT_CAST128, LO_CRYPT_IDEA, LO_CRYPT_DUMMY, LO_CRYPT_SKIPJACK, LO_CRYPT_CRYPTOAPI
+lo_flags = LO_FLAGS_READ_ONLY, LO_FLAGS_AUTOCLEAR, LO_FLAGS_PARTSCAN, LO_FLAGS_DIRECT_IO
+
+loop_info {
+ lo_number const[0, int32]
+ lo_device const[0, int32]
+ lo_inode const[0, int32]
+ lo_rdevice const[0, int32]
+ lo_offset int32
+ lo_enc_type flags[lo_encrypt_type, int32]
+ lo_enc_key_size int32[0:LO_KEY_SIZE]
+ lo_flags flags[lo_flags, int32]
+ lo_name array[int8, LO_NAME_SIZE]
+ lo_enc_key array[int8, LO_KEY_SIZE]
+ lo_init array[intptr, 2]
+ reserved const[0, int32]
+}
+
+loop_info64 {
+ lo_device const[0, int64]
+ lo_inode const[0, int64]
+ lo_rdevice const[0, int64]
+ lo_offset int64
+ lo_sizelimit int64
+ lo_number const[0, int32]
+ lo_enc_type flags[lo_encrypt_type, int32]
+ lo_enc_key_size int32[0:LO_KEY_SIZE]
+ lo_flags flags[lo_flags, int32]
+ lo_file_name array[int8, LO_NAME_SIZE]
+ lo_crypt_name array[int8, LO_NAME_SIZE]
+ lo_enc_key array[int8, LO_KEY_SIZE]
+ lo_init array[intptr, 2]
+}
diff --git a/sys/loop_amd64.const b/sys/loop_amd64.const
new file mode 100644
index 000000000..080acda8f
--- /dev/null
+++ b/sys/loop_amd64.const
@@ -0,0 +1,29 @@
+# AUTOGENERATED FILE
+LOOP_CLR_FD = 19457
+LOOP_CTL_ADD = 19584
+LOOP_CTL_GET_FREE = 19586
+LOOP_GET_STATUS = 19459
+LOOP_GET_STATUS64 = 19461
+LOOP_SET_CAPACITY = 19463
+LOOP_SET_DIRECT_IO = 19464
+LOOP_SET_FD = 19456
+LOOP_SET_STATUS = 19458
+LOOP_SET_STATUS64 = 19460
+LO_CRYPT_BLOW = 4
+LO_CRYPT_CAST128 = 5
+LO_CRYPT_CRYPTOAPI = 18
+LO_CRYPT_DES = 2
+LO_CRYPT_DUMMY = 9
+LO_CRYPT_FISH2 = 3
+LO_CRYPT_IDEA = 6
+LO_CRYPT_NONE = 0
+LO_CRYPT_SKIPJACK = 10
+LO_CRYPT_XOR = 1
+LO_FLAGS_AUTOCLEAR = 4
+LO_FLAGS_DIRECT_IO = 16
+LO_FLAGS_PARTSCAN = 8
+LO_FLAGS_READ_ONLY = 1
+LO_KEY_SIZE = 32
+LO_NAME_SIZE = 64
+__NR_ioctl = 16
+__NR_openat = 257
diff --git a/sys/loop_arm64.const b/sys/loop_arm64.const
new file mode 100644
index 000000000..867637070
--- /dev/null
+++ b/sys/loop_arm64.const
@@ -0,0 +1,29 @@
+# AUTOGENERATED FILE
+LOOP_CLR_FD = 19457
+LOOP_CTL_ADD = 19584
+LOOP_CTL_GET_FREE = 19586
+LOOP_GET_STATUS = 19459
+LOOP_GET_STATUS64 = 19461
+LOOP_SET_CAPACITY = 19463
+LOOP_SET_DIRECT_IO = 19464
+LOOP_SET_FD = 19456
+LOOP_SET_STATUS = 19458
+LOOP_SET_STATUS64 = 19460
+LO_CRYPT_BLOW = 4
+LO_CRYPT_CAST128 = 5
+LO_CRYPT_CRYPTOAPI = 18
+LO_CRYPT_DES = 2
+LO_CRYPT_DUMMY = 9
+LO_CRYPT_FISH2 = 3
+LO_CRYPT_IDEA = 6
+LO_CRYPT_NONE = 0
+LO_CRYPT_SKIPJACK = 10
+LO_CRYPT_XOR = 1
+LO_FLAGS_AUTOCLEAR = 4
+LO_FLAGS_DIRECT_IO = 16
+LO_FLAGS_PARTSCAN = 8
+LO_FLAGS_READ_ONLY = 1
+LO_KEY_SIZE = 32
+LO_NAME_SIZE = 64
+__NR_ioctl = 29
+__NR_openat = 56
diff --git a/sys/loop_ppc64le.const b/sys/loop_ppc64le.const
new file mode 100644
index 000000000..c9d37b7ed
--- /dev/null
+++ b/sys/loop_ppc64le.const
@@ -0,0 +1,29 @@
+# AUTOGENERATED FILE
+LOOP_CLR_FD = 19457
+LOOP_CTL_ADD = 19584
+LOOP_CTL_GET_FREE = 19586
+LOOP_GET_STATUS = 19459
+LOOP_GET_STATUS64 = 19461
+LOOP_SET_CAPACITY = 19463
+LOOP_SET_DIRECT_IO = 19464
+LOOP_SET_FD = 19456
+LOOP_SET_STATUS = 19458
+LOOP_SET_STATUS64 = 19460
+LO_CRYPT_BLOW = 4
+LO_CRYPT_CAST128 = 5
+LO_CRYPT_CRYPTOAPI = 18
+LO_CRYPT_DES = 2
+LO_CRYPT_DUMMY = 9
+LO_CRYPT_FISH2 = 3
+LO_CRYPT_IDEA = 6
+LO_CRYPT_NONE = 0
+LO_CRYPT_SKIPJACK = 10
+LO_CRYPT_XOR = 1
+LO_FLAGS_AUTOCLEAR = 4
+LO_FLAGS_DIRECT_IO = 16
+LO_FLAGS_PARTSCAN = 8
+LO_FLAGS_READ_ONLY = 1
+LO_KEY_SIZE = 32
+LO_NAME_SIZE = 64
+__NR_ioctl = 54
+__NR_openat = 286
diff --git a/sys/sys.txt b/sys/sys.txt
index 4232c622f..1d9e590ea 100644
--- a/sys/sys.txt
+++ b/sys/sys.txt
@@ -461,7 +461,6 @@ syz_open_dev$vcsa(dev ptr[in, string["/dev/vcsa#"]], id intptr, flags flags[open
syz_open_dev$usbmon(dev ptr[in, string["/dev/usbmon#"]], id intptr, flags flags[open_flags]) fd
syz_open_dev$sg(dev ptr[in, string["/dev/sg#"]], id intptr, flags flags[open_flags]) fd
syz_open_dev$midi(dev ptr[in, string["/dev/midi#"]], id intptr, flags flags[open_flags]) fd
-syz_open_dev$loop(dev ptr[in, string["/dev/loop#"]], 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$dspn(dev ptr[in, string["/dev/dsp#"]], id intptr, flags flags[open_flags]) fd
syz_open_dev$dmmidi(dev ptr[in, string["/dev/dmmidi#"]], id intptr, flags flags[open_flags]) fd