diff options
| author | Necip Fazil Yildiran <necip@google.com> | 2020-06-23 08:53:15 +0300 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-06-23 10:34:37 +0200 |
| commit | 0c8fbbfce1e43634a1c3d71a173e6944e86da76b (patch) | |
| tree | 26e6d8f8ce83f8a974629b182a98bbda3e05f873 /sys | |
| parent | 125d86d10169640c73e42208190f624d79a3bde7 (diff) | |
sys/linux: add descriptions for qrtr socket
Added descriptions to test Qualcomm's IPC router protocol for sockets.
Update #533.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/linux/socket.txt | 6 | ||||
| -rw-r--r-- | sys/linux/socket_386.const | 1 | ||||
| -rw-r--r-- | sys/linux/socket_amd64.const | 1 | ||||
| -rw-r--r-- | sys/linux/socket_arm.const | 1 | ||||
| -rw-r--r-- | sys/linux/socket_arm64.const | 1 | ||||
| -rw-r--r-- | sys/linux/socket_mips64le.const | 1 | ||||
| -rw-r--r-- | sys/linux/socket_ppc64le.const | 1 | ||||
| -rw-r--r-- | sys/linux/socket_qipcrtr.txt | 32 | ||||
| -rw-r--r-- | sys/linux/socket_qipcrtr_386.const | 12 | ||||
| -rw-r--r-- | sys/linux/socket_qipcrtr_amd64.const | 12 | ||||
| -rw-r--r-- | sys/linux/socket_qipcrtr_arm.const | 12 | ||||
| -rw-r--r-- | sys/linux/socket_qipcrtr_arm64.const | 12 | ||||
| -rw-r--r-- | sys/linux/socket_qipcrtr_mips64le.const | 12 | ||||
| -rw-r--r-- | sys/linux/socket_qipcrtr_ppc64le.const | 12 |
14 files changed, 114 insertions, 2 deletions
diff --git a/sys/linux/socket.txt b/sys/linux/socket.txt index 79a5c8004..a8595fc5e 100644 --- a/sys/linux/socket.txt +++ b/sys/linux/socket.txt @@ -41,7 +41,7 @@ shutdown(fd sock, how flags[shutdown_flags]) getsockopt(fd sock, level int32, optname int32, optval buffer[out], optlen ptr[inout, len[optval, int32]]) setsockopt(fd sock, level int32, optname int32, optval buffer[in], optlen len[optval]) -socket_domain = AF_UNIX, AF_INET, AF_INET6, AF_IPX, AF_NETLINK, AF_X25, AF_AX25, AF_ATMPVC, AF_APPLETALK, AF_PACKET, AF_VSOCK, AF_XDP, AF_TIPC, AF_RXRPC, AF_PPPOX, AF_RDS, AF_ROSE, AF_PHONET, AF_NFC, AF_NETROM, AF_KEY, AF_KCM, AF_ISDN, AF_SMC, AF_CAN, AF_CAIF, AF_BLUETOOTH, AF_LLC, AF_ALG +socket_domain = AF_UNIX, AF_INET, AF_INET6, AF_IPX, AF_NETLINK, AF_X25, AF_AX25, AF_ATMPVC, AF_APPLETALK, AF_PACKET, AF_VSOCK, AF_XDP, AF_TIPC, AF_RXRPC, AF_PPPOX, AF_RDS, AF_ROSE, AF_PHONET, AF_NFC, AF_NETROM, AF_KEY, AF_KCM, AF_ISDN, AF_SMC, AF_CAN, AF_CAIF, AF_BLUETOOTH, AF_LLC, AF_ALG, AF_QIPCRTR socket_type = SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SOCK_DCCP, SOCK_PACKET, SOCK_NONBLOCK, SOCK_CLOEXEC accept_flags = SOCK_NONBLOCK, SOCK_CLOEXEC shutdown_flags = SHUT_RD, SHUT_WR @@ -55,7 +55,7 @@ sock_pair { } # This sockaddr type corresponds to the struct sockaddr and is 16 bytes or less. -# TODO: add AF_APPLETALK, AF_ATMPVC, AF_X25, AF_ROSE, AF_DECnet, AF_ATMSVC, AF_IRDA, AF_IB, AF_TIPC, AF_IUCV, AF_RXRPC, AF_ISDN, AF_PHONET, AF_IEEE802154, AF_CAIF, AF_QIPCRTR +# TODO: add AF_APPLETALK, AF_ATMPVC, AF_X25, AF_ROSE, AF_DECnet, AF_ATMSVC, AF_IRDA, AF_IB, AF_TIPC, AF_IUCV, AF_RXRPC, AF_ISDN, AF_PHONET, AF_IEEE802154, AF_CAIF # Note: AF_UNIX, AF_INET6, AF_PACKET, AF_ALG, AF_PPPOX sockaddr is bigger than 16 bytes # Note: AF_NETROM sockaddr is the same as AF_AX25 sockaddr [ @@ -77,6 +77,7 @@ sockaddr [ l2tp sockaddr_l2tpip phonet sockaddr_pn ethernet sockaddr_ethernet + qipcrtr sockaddr_qrtr generic sockaddr_generic ] [size[SOCKADDR_SIZE]] @@ -115,6 +116,7 @@ sockaddr_storage [ rxrpc sockaddr_rxrpc phonet sockaddr_pn ethernet sockaddr_ethernet + qipcrtr sockaddr_qrtr generic sockaddr_storage_generic ] [size[SOCKADDR_STORAGE_SIZE]] diff --git a/sys/linux/socket_386.const b/sys/linux/socket_386.const index 767963579..0e62d5872 100644 --- a/sys/linux/socket_386.const +++ b/sys/linux/socket_386.const @@ -20,6 +20,7 @@ AF_NFC = 39 AF_PACKET = 17 AF_PHONET = 35 AF_PPPOX = 24 +AF_QIPCRTR = 42 AF_RDS = 21 AF_ROSE = 11 AF_RXRPC = 33 diff --git a/sys/linux/socket_amd64.const b/sys/linux/socket_amd64.const index fe078230d..bd21edebd 100644 --- a/sys/linux/socket_amd64.const +++ b/sys/linux/socket_amd64.const @@ -20,6 +20,7 @@ AF_NFC = 39 AF_PACKET = 17 AF_PHONET = 35 AF_PPPOX = 24 +AF_QIPCRTR = 42 AF_RDS = 21 AF_ROSE = 11 AF_RXRPC = 33 diff --git a/sys/linux/socket_arm.const b/sys/linux/socket_arm.const index c7be66310..9566d4b4b 100644 --- a/sys/linux/socket_arm.const +++ b/sys/linux/socket_arm.const @@ -20,6 +20,7 @@ AF_NFC = 39 AF_PACKET = 17 AF_PHONET = 35 AF_PPPOX = 24 +AF_QIPCRTR = 42 AF_RDS = 21 AF_ROSE = 11 AF_RXRPC = 33 diff --git a/sys/linux/socket_arm64.const b/sys/linux/socket_arm64.const index 71a1e9f5d..e1e116965 100644 --- a/sys/linux/socket_arm64.const +++ b/sys/linux/socket_arm64.const @@ -20,6 +20,7 @@ AF_NFC = 39 AF_PACKET = 17 AF_PHONET = 35 AF_PPPOX = 24 +AF_QIPCRTR = 42 AF_RDS = 21 AF_ROSE = 11 AF_RXRPC = 33 diff --git a/sys/linux/socket_mips64le.const b/sys/linux/socket_mips64le.const index ffea43a76..6767c0c0f 100644 --- a/sys/linux/socket_mips64le.const +++ b/sys/linux/socket_mips64le.const @@ -20,6 +20,7 @@ AF_NFC = 39 AF_PACKET = 17 AF_PHONET = 35 AF_PPPOX = 24 +AF_QIPCRTR = 42 AF_RDS = 21 AF_ROSE = 11 AF_RXRPC = 33 diff --git a/sys/linux/socket_ppc64le.const b/sys/linux/socket_ppc64le.const index ab644a282..447394901 100644 --- a/sys/linux/socket_ppc64le.const +++ b/sys/linux/socket_ppc64le.const @@ -20,6 +20,7 @@ AF_NFC = 39 AF_PACKET = 17 AF_PHONET = 35 AF_PPPOX = 24 +AF_QIPCRTR = 42 AF_RDS = 21 AF_ROSE = 11 AF_RXRPC = 33 diff --git a/sys/linux/socket_qipcrtr.txt b/sys/linux/socket_qipcrtr.txt new file mode 100644 index 000000000..cbbd5b559 --- /dev/null +++ b/sys/linux/socket_qipcrtr.txt @@ -0,0 +1,32 @@ +# 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 <linux/socket.h> +include <linux/net.h> +include <asm/ioctls.h> +include <linux/qrtr.h> + +# QIPCRTR sockets + +resource sock_qrtr[sock] + +sockaddr_qrtr { + sq_family const[AF_QIPCRTR, int16] + sq_node int32 + sq_port int32 +} + +socket$qrtr(domain const[AF_QIPCRTR], type const[SOCK_DGRAM], proto const[0]) sock_qrtr + +bind$qrtr(fd sock_qrtr, addr ptr[in, sockaddr_qrtr], addrlen len[addr]) +connect$qrtr(fd sock_qrtr, addr ptr[in, sockaddr_qrtr], addrlen len[addr]) + +getsockname$qrtr(fd sock_qrtr, addr ptr[out, sockaddr_qrtr], addrlen ptr[inout, len[addr, int32]]) +getpeername$qrtr(fd sock_qrtr, peer ptr[out, sockaddr_qrtr], peerlen ptr[inout, len[peer, int32]]) + +# ioctls +ioctl$sock_qrtr_TIOCOUTQ(fd sock_qrtr, cmd const[TIOCOUTQ], arg ptr[out, int64]) +ioctl$sock_qrtr_TIOCINQ(fd sock_qrtr, cmd const[TIOCINQ], arg ptr[out, int64]) +ioctl$sock_qrtr_SIOCGIFADDR(fd sock_qrtr, cmd const[SIOCGIFADDR], arg ptr[inout, ifreq_t[sockaddr_qrtr]]) + +# TODO: sendmsg$qrtr, recvmsg$qrtr, msghdr_qrtr diff --git a/sys/linux/socket_qipcrtr_386.const b/sys/linux/socket_qipcrtr_386.const new file mode 100644 index 000000000..7c5e9cb29 --- /dev/null +++ b/sys/linux/socket_qipcrtr_386.const @@ -0,0 +1,12 @@ +# AUTOGENERATED FILE +AF_QIPCRTR = 42 +SIOCGIFADDR = 35093 +SOCK_DGRAM = 2 +TIOCINQ = 21531 +TIOCOUTQ = 21521 +__NR_bind = 361 +__NR_connect = 362 +__NR_getpeername = 368 +__NR_getsockname = 367 +__NR_ioctl = 54 +__NR_socket = 359 diff --git a/sys/linux/socket_qipcrtr_amd64.const b/sys/linux/socket_qipcrtr_amd64.const new file mode 100644 index 000000000..ac32171a1 --- /dev/null +++ b/sys/linux/socket_qipcrtr_amd64.const @@ -0,0 +1,12 @@ +# AUTOGENERATED FILE +AF_QIPCRTR = 42 +SIOCGIFADDR = 35093 +SOCK_DGRAM = 2 +TIOCINQ = 21531 +TIOCOUTQ = 21521 +__NR_bind = 49 +__NR_connect = 42 +__NR_getpeername = 52 +__NR_getsockname = 51 +__NR_ioctl = 16 +__NR_socket = 41 diff --git a/sys/linux/socket_qipcrtr_arm.const b/sys/linux/socket_qipcrtr_arm.const new file mode 100644 index 000000000..080981b74 --- /dev/null +++ b/sys/linux/socket_qipcrtr_arm.const @@ -0,0 +1,12 @@ +# AUTOGENERATED FILE +AF_QIPCRTR = 42 +SIOCGIFADDR = 35093 +SOCK_DGRAM = 2 +TIOCINQ = 21531 +TIOCOUTQ = 21521 +__NR_bind = 282 +__NR_connect = 283 +__NR_getpeername = 287 +__NR_getsockname = 286 +__NR_ioctl = 54 +__NR_socket = 281 diff --git a/sys/linux/socket_qipcrtr_arm64.const b/sys/linux/socket_qipcrtr_arm64.const new file mode 100644 index 000000000..9b6467c5c --- /dev/null +++ b/sys/linux/socket_qipcrtr_arm64.const @@ -0,0 +1,12 @@ +# AUTOGENERATED FILE +AF_QIPCRTR = 42 +SIOCGIFADDR = 35093 +SOCK_DGRAM = 2 +TIOCINQ = 21531 +TIOCOUTQ = 21521 +__NR_bind = 200 +__NR_connect = 203 +__NR_getpeername = 205 +__NR_getsockname = 204 +__NR_ioctl = 29 +__NR_socket = 198 diff --git a/sys/linux/socket_qipcrtr_mips64le.const b/sys/linux/socket_qipcrtr_mips64le.const new file mode 100644 index 000000000..9c3245bd9 --- /dev/null +++ b/sys/linux/socket_qipcrtr_mips64le.const @@ -0,0 +1,12 @@ +# AUTOGENERATED FILE +AF_QIPCRTR = 42 +SIOCGIFADDR = 35093 +SOCK_DGRAM = 1 +TIOCINQ = 18047 +TIOCOUTQ = 29810 +__NR_bind = 5048 +__NR_connect = 5041 +__NR_getpeername = 5051 +__NR_getsockname = 5050 +__NR_ioctl = 5015 +__NR_socket = 5040 diff --git a/sys/linux/socket_qipcrtr_ppc64le.const b/sys/linux/socket_qipcrtr_ppc64le.const new file mode 100644 index 000000000..de5ce9b3b --- /dev/null +++ b/sys/linux/socket_qipcrtr_ppc64le.const @@ -0,0 +1,12 @@ +# AUTOGENERATED FILE +AF_QIPCRTR = 42 +SIOCGIFADDR = 35093 +SOCK_DGRAM = 2 +TIOCINQ = 1074030207 +TIOCOUTQ = 1074033779 +__NR_bind = 327 +__NR_connect = 328 +__NR_getpeername = 332 +__NR_getsockname = 331 +__NR_ioctl = 54 +__NR_socket = 326 |
