From 9f528bbcc8a3d94c9be27a0eecc12022d4b3bfaa Mon Sep 17 00:00:00 2001 From: Andrey Konovalov Date: Fri, 1 Feb 2019 01:08:17 +0100 Subject: sys/linux: rename dev descriptions files Prefix file names of descriptions of /dev/* files with dev_. And give some of them more appropriate names. --- sys/linux/dev_nbd.txt | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 sys/linux/dev_nbd.txt (limited to 'sys/linux/dev_nbd.txt') diff --git a/sys/linux/dev_nbd.txt b/sys/linux/dev_nbd.txt new file mode 100644 index 000000000..7cc3e0454 --- /dev/null +++ b/sys/linux/dev_nbd.txt @@ -0,0 +1,67 @@ +# Copyright 2018 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 +include +include +include +include + +resource fd_nbd[fd_block] +resource sock_nbd_client[sock] +resource sock_nbd_server[sock] +resource genl_nbd_family_id[int16] + +syz_open_dev$ndb(dev ptr[in, string["/dev/nbd#"]], id proc[0, 1], flags flags[open_flags]) fd_nbd + +ioctl$NBD_DISCONNECT(fd fd_nbd, cmd const[NBD_DISCONNECT]) +ioctl$NBD_CLEAR_SOCK(fd fd_nbd, cmd const[NBD_CLEAR_SOCK]) +ioctl$NBD_SET_SOCK(fd fd_nbd, cmd const[NBD_SET_SOCK], arg sock_nbd_client) +ioctl$NBD_SET_BLKSIZE(fd fd_nbd, cmd const[NBD_SET_BLKSIZE], arg intptr) +ioctl$NBD_SET_SIZE(fd fd_nbd, cmd const[NBD_SET_SIZE], arg intptr) +ioctl$NBD_SET_SIZE_BLOCKS(fd fd_nbd, cmd const[NBD_SET_SIZE_BLOCKS], arg intptr) +ioctl$NBD_SET_TIMEOUT(fd fd_nbd, cmd const[NBD_SET_TIMEOUT], arg intptr) +ioctl$NBD_SET_FLAGS(fd fd_nbd, cmd const[NBD_SET_FLAGS], arg intptr) +ioctl$NBD_DO_IT(fd fd_nbd, cmd const[NBD_DO_IT]) +ioctl$NBD_CLEAR_QUE(fd fd_nbd, cmd const[NBD_CLEAR_QUE]) + +type msghdr_nl_nbd[CMD] msghdr_netlink[netlink_msg_t[genl_nbd_family_id, genlmsghdr_t[CMD], nbd_attr_policy]] + +syz_genetlink_get_family_id$nbd(name ptr[in, string["nbd"]]) genl_nbd_family_id + +sendmsg$NBD_CMD_CONNECT(fd sock_nl_generic, msg ptr[in, msghdr_nl_nbd[NBD_CMD_CONNECT]], f flags[send_flags]) +sendmsg$NBD_CMD_DISCONNECT(fd sock_nl_generic, msg ptr[in, msghdr_nl_nbd[NBD_CMD_DISCONNECT]], f flags[send_flags]) +sendmsg$NBD_CMD_RECONFIGURE(fd sock_nl_generic, msg ptr[in, msghdr_nl_nbd[NBD_CMD_RECONFIGURE]], f flags[send_flags]) +sendmsg$NBD_CMD_STATUS(fd sock_nl_generic, msg ptr[in, msghdr_nl_nbd[NBD_CMD_STATUS]], f flags[send_flags]) + +nbd_attr_policy [ + NBD_ATTR_INDEX nlattr[NBD_ATTR_INDEX, proc[0, 1, int32]] + NBD_ATTR_SIZE_BYTES nlattr[NBD_ATTR_SIZE_BYTES, int64] + NBD_ATTR_BLOCK_SIZE_BYTES nlattr[NBD_ATTR_BLOCK_SIZE_BYTES, int64] + NBD_ATTR_TIMEOUT nlattr[NBD_ATTR_TIMEOUT, int64] + NBD_ATTR_SERVER_FLAGS nlattr[NBD_ATTR_SERVER_FLAGS, flags[nbd_server_flags, int64]] + NBD_ATTR_CLIENT_FLAGS nlattr[NBD_ATTR_CLIENT_FLAGS, flags[nbd_client_flags, int64]] + NBD_ATTR_SOCKETS nlattr[NBD_ATTR_SOCKETS, array[nlattr[NBD_SOCK_FD, sock_nbd_client]]] + NBD_ATTR_DEAD_CONN_TIMEOUT nlattr[NBD_ATTR_DEAD_CONN_TIMEOUT, int64] +] [varlen] + +nbd_server_flags = NBD_FLAG_HAS_FLAGS, NBD_FLAG_READ_ONLY, NBD_FLAG_SEND_FLUSH, NBD_FLAG_SEND_FUA, NBD_FLAG_SEND_TRIM, NBD_FLAG_CAN_MULTI_CONN +nbd_client_flags = NBD_CFLAG_DESTROY_ON_DISCONNECT, NBD_CFLAG_DISCONNECT_ON_CLOSE + +socketpair$nbd(domain const[AF_UNIX], type const[SOCK_STREAM], proto const[0], fds ptr[out, nbd_sock_pair]) + +nbd_sock_pair { + client sock_nbd_client + server sock_nbd_server +} + +write$nbd(fd sock_nbd_server, data ptr[in, nbd_reply], size len[data]) + +nbd_reply { + magic const[NBD_REPLY_MAGIC, int32be] + error bool32 + handle_tag int16[0:4] + handle_hwq int16[0:4] + handle_cookie int32[1:4] + payload array[int8] +} -- cgit mrf-deployment