sys/freebsd: add UDP-Lite descriptions

This commit is contained in:
Michael Tüxen 2018-12-03 14:52:09 +01:00 committed by Dmitry Vyukov
parent 2192790481
commit 03f94a4556
5 changed files with 85 additions and 2 deletions

View File

@ -20,7 +20,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
#define SYZ_REVISION "4929654e4c6f12c8222436a5269c97497bd7efee"
#define SYZ_REVISION "a3944f6fbcf482566af6a7a77f6663b51b659575"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096

View File

@ -302,6 +302,7 @@ const call_t syscalls[] = {
{"getsockopt$inet6_int", 118},
{"getsockopt$inet6_tcp_buf", 118},
{"getsockopt$inet6_tcp_int", 118},
{"getsockopt$inet6_udplite", 118},
{"getsockopt$inet_buf", 118},
{"getsockopt$inet_int", 118},
{"getsockopt$inet_mreq", 118},
@ -310,6 +311,7 @@ const call_t syscalls[] = {
{"getsockopt$inet_opts", 118},
{"getsockopt$inet_tcp_buf", 118},
{"getsockopt$inet_tcp_int", 118},
{"getsockopt$inet_udplite", 118},
{"getsockopt$sock_cred", 118},
{"getsockopt$sock_int", 118},
{"getsockopt$sock_linger", 118},
@ -412,6 +414,7 @@ const call_t syscalls[] = {
{"setsockopt$inet6_tcp_TCP_CONGESTION", 105},
{"setsockopt$inet6_tcp_buf", 105},
{"setsockopt$inet6_tcp_int", 105},
{"setsockopt$inet6_udplite", 105},
{"setsockopt$inet_MCAST_JOIN_GROUP", 105},
{"setsockopt$inet_MCAST_LEAVE_GROUP", 105},
{"setsockopt$inet_buf", 105},
@ -425,6 +428,7 @@ const call_t syscalls[] = {
{"setsockopt$inet_tcp_TCP_CONGESTION", 105},
{"setsockopt$inet_tcp_buf", 105},
{"setsockopt$inet_tcp_int", 105},
{"setsockopt$inet_udplite", 105},
{"setsockopt$sock_cred", 105},
{"setsockopt$sock_int", 105},
{"setsockopt$sock_linger", 105},
@ -451,10 +455,12 @@ const call_t syscalls[] = {
{"socket$inet6_icmp_raw", 97},
{"socket$inet6_tcp", 97},
{"socket$inet6_udp", 97},
{"socket$inet6_udplite", 97},
{"socket$inet_icmp", 97},
{"socket$inet_icmp_raw", 97},
{"socket$inet_tcp", 97},
{"socket$inet_udp", 97},
{"socket$inet_udplite", 97},
{"socket$unix", 97},
{"socketpair", 135},
{"socketpair$inet", 135},

View File

@ -30,6 +30,8 @@ var resources_amd64 = []*ResourceDesc{
{Name: "sock_tcp6", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_in6", "sock_tcp6"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "sock_udp", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_in", "sock_udp"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "sock_udp6", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_in6", "sock_udp6"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "sock_udplite", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_in", "sock_udplite"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "sock_udplite6", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_in6", "sock_udplite6"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "sock_unix", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_unix"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "tcp_seq_num", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"tcp_seq_num"}, Values: []uint64{1094861636}},
{Name: "uid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"uid"}, Values: []uint64{0, 18446744073709551615}},
@ -927,6 +929,13 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
{NR: 118, Name: "getsockopt$inet6_udplite", CallName: "getsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite6", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udplite_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{4, 2}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
{NR: 118, Name: "getsockopt$inet_buf", CallName: "getsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}},
@ -983,6 +992,13 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
{NR: 118, Name: "getsockopt$inet_udplite", CallName: "getsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udplite_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{4, 2}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
{NR: 118, Name: "getsockopt$sock_cred", CallName: "getsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 65535},
@ -1548,6 +1564,13 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
}},
{NR: 105, Name: "setsockopt$inet6_udplite", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite6", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udplite_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{4, 2}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
}},
{NR: 105, Name: "setsockopt$inet_MCAST_JOIN_GROUP", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}},
@ -1639,6 +1662,13 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
}},
{NR: 105, Name: "setsockopt$inet_udplite", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 136},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "udplite_option_types", FldName: "optname", TypeSize: 8}}, Vals: []uint64{4, 2}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
}},
{NR: 105, Name: "setsockopt$sock_cred", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 65535},
@ -1770,6 +1800,11 @@ var syscalls_amd64 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 97, Name: "socket$inet6_udplite", CallName: "socket", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 28},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 136},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite6", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 97, Name: "socket$inet_icmp", CallName: "socket", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 2},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2},
@ -1790,6 +1825,11 @@ var syscalls_amd64 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 97, Name: "socket$inet_udplite", CallName: "socket", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 2},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 136},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udplite", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 97, Name: "socket$unix", CallName: "socket", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 1},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "unix_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 5}},
@ -1988,6 +2028,7 @@ var consts_amd64 = []ConstValue{
{Name: "IPPROTO_IP"},
{Name: "IPPROTO_IPV6", Value: 41},
{Name: "IPPROTO_TCP", Value: 6},
{Name: "IPPROTO_UDPLITE", Value: 136},
{Name: "IPV6_2292DSTOPTS", Value: 23},
{Name: "IPV6_2292HOPLIMIT", Value: 20},
{Name: "IPV6_2292HOPOPTS", Value: 22},
@ -2425,6 +2466,8 @@ var consts_amd64 = []ConstValue{
{Name: "TCP_KEEPINTVL", Value: 512},
{Name: "TCP_NODELAY", Value: 1},
{Name: "TIMER_ABSTIME", Value: 1},
{Name: "UDPLITE_RECV_CSCOV", Value: 4},
{Name: "UDPLITE_SEND_CSCOV", Value: 2},
{Name: "WCONTINUED", Value: 4},
{Name: "WEXITED", Value: 16},
{Name: "WNOHANG", Value: 1},
@ -2433,4 +2476,4 @@ var consts_amd64 = []ConstValue{
{Name: "WUNTRACED", Value: 2},
}
const revision_amd64 = "4929654e4c6f12c8222436a5269c97497bd7efee"
const revision_amd64 = "a3944f6fbcf482566af6a7a77f6663b51b659575"

View File

@ -0,0 +1,24 @@
# 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.
# AF_INET and AF_INET6: UDP-Lite support
include <sys/types.h>
include <sys/socket.h>
include <netinet/in.h>
include <netinet/udplite.h>
resource sock_udplite[sock_in]
socket$inet_udplite(domain const[AF_INET], type const[SOCK_DGRAM], proto const[IPPROTO_UDPLITE]) sock_udplite
resource sock_udplite6[sock_in6]
socket$inet6_udplite(domain const[AF_INET6], type const[SOCK_DGRAM], proto const[IPPROTO_UDPLITE]) sock_udplite6
udplite_option_types = UDPLITE_RECV_CSCOV, UDPLITE_SEND_CSCOV
getsockopt$inet_udplite(fd sock_udplite, level const[IPPROTO_UDPLITE], optname flags[udplite_option_types], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
setsockopt$inet_udplite(fd sock_udplite, level const[IPPROTO_UDPLITE], optname flags[udplite_option_types], optval ptr[in, int32], optlen len[optval])
getsockopt$inet6_udplite(fd sock_udplite6, level const[IPPROTO_UDPLITE], optname flags[udplite_option_types], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
setsockopt$inet6_udplite(fd sock_udplite6, level const[IPPROTO_UDPLITE], optname flags[udplite_option_types], optval ptr[in, int32], optlen len[optval])

View File

@ -0,0 +1,10 @@
# AUTOGENERATED FILE
AF_INET = 2
AF_INET6 = 28
IPPROTO_UDPLITE = 136
SOCK_DGRAM = 2
SYS_getsockopt = 118
SYS_setsockopt = 105
SYS_socket = 97
UDPLITE_RECV_CSCOV = 4
UDPLITE_SEND_CSCOV = 2