diff options
47 files changed, 546 insertions, 608 deletions
diff --git a/executor/common.h b/executor/common.h index d7b0b1187..1a0f9ecce 100644 --- a/executor/common.h +++ b/executor/common.h @@ -75,9 +75,10 @@ const int kRetryStatus = 69; const int kErrorStatus = 68; #endif -#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ - defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ - defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) +#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ + defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ + defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) || \ + defined(__NR_syz_init_net_socket) // logical error (e.g. invalid input program), use as an assert() alernative NORETURN PRINTF static void fail(const char* msg, ...) { diff --git a/executor/common_linux.h b/executor/common_linux.h index 1f8305bce..414b80f37 100644 --- a/executor/common_linux.h +++ b/executor/common_linux.h @@ -112,11 +112,19 @@ #include <sys/ioctl.h> #include <sys/stat.h> #endif +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_init_net_socket) +#include <fcntl.h> +#include <sched.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> +#endif #if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ defined(SYZ_USE_TMP_DIR) || defined(SYZ_HANDLE_SEGV) || defined(SYZ_TUN_ENABLE) || \ defined(SYZ_SANDBOX_NAMESPACE) || defined(SYZ_SANDBOX_SETUID) || \ - defined(SYZ_SANDBOX_NONE) || defined(SYZ_FAULT_INJECTION) || defined(__NR_syz_kvm_setup_cpu) + defined(SYZ_SANDBOX_NONE) || defined(SYZ_FAULT_INJECTION) || \ + defined(__NR_syz_kvm_setup_cpu) || defined(__NR_syz_init_net_socket) // One does not simply exit. // _exit can in fact fail. // syzkaller did manage to generate a seccomp filter that prohibits exit_group syscall. @@ -688,6 +696,34 @@ static uintptr_t syz_fuseblk_mount(uintptr_t a0, uintptr_t a1, uintptr_t a2, uin } #endif +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_init_net_socket) +#if defined(SYZ_EXECUTOR) || defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(SYZ_SANDBOX_NAMESPACE) +const int kInitNetNsFd = 253; +// syz_init_net_socket opens a socket in init net namespace. +// Used for families that can only be created in init net namespace. +static uintptr_t syz_init_net_socket(uintptr_t domain, uintptr_t type, uintptr_t proto) +{ + int netns = open("/proc/self/ns/net", O_RDONLY); + if (netns == -1) + return netns; + if (setns(kInitNetNsFd, 0)) + return -1; + int sock = syscall(__NR_socket, domain, type, proto); + int err = errno; + if (setns(netns, 0)) + fail("setns(netns) failed"); + close(netns); + errno = err; + return sock; +} +#else +static uintptr_t syz_init_net_socket(uintptr_t domain, uintptr_t type, uintptr_t proto) +{ + return syscall(__NR_socket, domain, type, proto); +} +#endif +#endif + #if defined(SYZ_EXECUTOR) || defined(__NR_syz_kvm_setup_cpu) #if defined(__x86_64__) #include "common_kvm_amd64.h" @@ -710,6 +746,15 @@ static void sandbox_common() setpgrp(); setsid(); +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_init_net_socket) + int netns = open("/proc/self/ns/net", O_RDONLY); + if (netns == -1) + fail("open(/proc/self/ns/net) failed"); + if (dup2(netns, kInitNetNsFd) < 0) + fail("dup2(netns, kInitNetNsFd) failed"); + close(netns); +#endif + struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 128 << 20; setrlimit(RLIMIT_AS, &rlim); diff --git a/executor/syscalls_linux.h b/executor/syscalls_linux.h index 84b97645f..22efa192b 100644 --- a/executor/syscalls_linux.h +++ b/executor/syscalls_linux.h @@ -2,7 +2,7 @@ #if defined(__i386__) || 0 #define GOARCH "386" -#define SYZ_REVISION "83da58aa1a9a2171aa34196065470a80047bd263" +#define SYZ_REVISION "438ceebbeee4b8331ecafae07e85a8079120816c" #define SYZ_PAGE_SIZE 4096 #define SYZ_NUM_PAGES 4096 #define SYZ_DATA_OFFSET 536870912 @@ -11,6 +11,7 @@ call_t syscalls[] = { {"accept4", 364}, {"accept4$alg", 364}, {"accept4$ax25", 364}, + {"accept4$bt_l2cap", 364}, {"accept4$inet", 364}, {"accept4$inet6", 364}, {"accept4$ipx", 364}, @@ -1447,11 +1448,8 @@ call_t syscalls[] = { {"socket$ax25", 359}, {"socket$bt_bnep", 359}, {"socket$bt_cmtp", 359}, - {"socket$bt_hci", 359}, {"socket$bt_hidp", 359}, - {"socket$bt_l2cap", 359}, {"socket$bt_rfcomm", 359}, - {"socket$bt_sco", 359}, {"socket$can_bcm", 359}, {"socket$can_raw", 359}, {"socket$inet", 359}, @@ -1473,11 +1471,8 @@ call_t syscalls[] = { {"socket$kcm", 359}, {"socket$key", 359}, {"socket$l2tp", 359}, - {"socket$llc", 359}, {"socket$netlink", 359}, {"socket$netrom", 359}, - {"socket$nfc_llcp", 359}, - {"socket$nfc_raw", 359}, {"socket$nl_crypto", 359}, {"socket$nl_generic", 359}, {"socket$nl_netfilter", 359}, @@ -1508,7 +1503,6 @@ call_t syscalls[] = { {"socketpair$inet_tcp", 360}, {"socketpair$inet_udp", 360}, {"socketpair$ipx", 360}, - {"socketpair$llc", 360}, {"socketpair$packet", 360}, {"socketpair$unix", 360}, {"splice", 313}, @@ -1530,6 +1524,12 @@ call_t syscalls[] = { {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res}, {"syz_fuse_mount", 0, (syscall_t)syz_fuse_mount}, {"syz_fuseblk_mount", 0, (syscall_t)syz_fuseblk_mount}, + {"syz_init_net_socket$bt_hci", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_l2cap", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_sco", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$llc", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_llcp", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_raw", 0, (syscall_t)syz_init_net_socket}, {"syz_kvm_setup_cpu$arm64", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_kvm_setup_cpu$x86", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_open_dev$admmidi", 0, (syscall_t)syz_open_dev}, @@ -1615,11 +1615,11 @@ call_t syscalls[] = { #if defined(__x86_64__) || 0 #define GOARCH "amd64" -#define SYZ_REVISION "6ec7ea7963734bf917737585902619bc1d3aebe8" +#define SYZ_REVISION "00ff1c6d3a163fa16b597ce6edab9c4956129d09" #define SYZ_PAGE_SIZE 4096 #define SYZ_NUM_PAGES 4096 #define SYZ_DATA_OFFSET 536870912 -unsigned syscall_count = 1654; +unsigned syscall_count = 1653; call_t syscalls[] = { {"accept", 43}, {"accept$alg", 43}, @@ -1627,7 +1627,6 @@ call_t syscalls[] = { {"accept$inet", 43}, {"accept$inet6", 43}, {"accept$ipx", 43}, - {"accept$llc", 43}, {"accept$netrom", 43}, {"accept$nfc_llcp", 43}, {"accept$packet", 43}, @@ -1635,6 +1634,7 @@ call_t syscalls[] = { {"accept4", 288}, {"accept4$alg", 288}, {"accept4$ax25", 288}, + {"accept4$bt_l2cap", 288}, {"accept4$inet", 288}, {"accept4$inet6", 288}, {"accept4$ipx", 288}, @@ -3113,11 +3113,8 @@ call_t syscalls[] = { {"socket$ax25", 41}, {"socket$bt_bnep", 41}, {"socket$bt_cmtp", 41}, - {"socket$bt_hci", 41}, {"socket$bt_hidp", 41}, - {"socket$bt_l2cap", 41}, {"socket$bt_rfcomm", 41}, - {"socket$bt_sco", 41}, {"socket$can_bcm", 41}, {"socket$can_raw", 41}, {"socket$inet", 41}, @@ -3139,11 +3136,8 @@ call_t syscalls[] = { {"socket$kcm", 41}, {"socket$key", 41}, {"socket$l2tp", 41}, - {"socket$llc", 41}, {"socket$netlink", 41}, {"socket$netrom", 41}, - {"socket$nfc_llcp", 41}, - {"socket$nfc_raw", 41}, {"socket$nl_crypto", 41}, {"socket$nl_generic", 41}, {"socket$nl_netfilter", 41}, @@ -3174,7 +3168,6 @@ call_t syscalls[] = { {"socketpair$inet_tcp", 53}, {"socketpair$inet_udp", 53}, {"socketpair$ipx", 53}, - {"socketpair$llc", 53}, {"socketpair$packet", 53}, {"socketpair$unix", 53}, {"splice", 275}, @@ -3196,6 +3189,12 @@ call_t syscalls[] = { {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res}, {"syz_fuse_mount", 0, (syscall_t)syz_fuse_mount}, {"syz_fuseblk_mount", 0, (syscall_t)syz_fuseblk_mount}, + {"syz_init_net_socket$bt_hci", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_l2cap", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_sco", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$llc", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_llcp", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_raw", 0, (syscall_t)syz_init_net_socket}, {"syz_kvm_setup_cpu$arm64", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_kvm_setup_cpu$x86", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_open_dev$admmidi", 0, (syscall_t)syz_open_dev}, @@ -3281,11 +3280,11 @@ call_t syscalls[] = { #if defined(__arm__) || 0 #define GOARCH "arm" -#define SYZ_REVISION "04dc857071f8d43f6f79aea2320270be4e1d805e" +#define SYZ_REVISION "5a1569893cefa812603d4f4627986d19ddff1708" #define SYZ_PAGE_SIZE 4096 #define SYZ_NUM_PAGES 4096 #define SYZ_DATA_OFFSET 536870912 -unsigned syscall_count = 1605; +unsigned syscall_count = 1604; call_t syscalls[] = { {"accept", 285}, {"accept$alg", 285}, @@ -3293,7 +3292,6 @@ call_t syscalls[] = { {"accept$inet", 285}, {"accept$inet6", 285}, {"accept$ipx", 285}, - {"accept$llc", 285}, {"accept$netrom", 285}, {"accept$nfc_llcp", 285}, {"accept$packet", 285}, @@ -3301,6 +3299,7 @@ call_t syscalls[] = { {"accept4", 366}, {"accept4$alg", 366}, {"accept4$ax25", 366}, + {"accept4$bt_l2cap", 366}, {"accept4$inet", 366}, {"accept4$inet6", 366}, {"accept4$ipx", 366}, @@ -4735,11 +4734,8 @@ call_t syscalls[] = { {"socket$ax25", 281}, {"socket$bt_bnep", 281}, {"socket$bt_cmtp", 281}, - {"socket$bt_hci", 281}, {"socket$bt_hidp", 281}, - {"socket$bt_l2cap", 281}, {"socket$bt_rfcomm", 281}, - {"socket$bt_sco", 281}, {"socket$can_bcm", 281}, {"socket$can_raw", 281}, {"socket$inet", 281}, @@ -4760,11 +4756,8 @@ call_t syscalls[] = { {"socket$kcm", 281}, {"socket$key", 281}, {"socket$l2tp", 281}, - {"socket$llc", 281}, {"socket$netlink", 281}, {"socket$netrom", 281}, - {"socket$nfc_llcp", 281}, - {"socket$nfc_raw", 281}, {"socket$nl_crypto", 281}, {"socket$nl_generic", 281}, {"socket$nl_netfilter", 281}, @@ -4794,7 +4787,6 @@ call_t syscalls[] = { {"socketpair$inet_tcp", 288}, {"socketpair$inet_udp", 288}, {"socketpair$ipx", 288}, - {"socketpair$llc", 288}, {"socketpair$packet", 288}, {"socketpair$unix", 288}, {"splice", 340}, @@ -4815,6 +4807,12 @@ call_t syscalls[] = { {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res}, {"syz_fuse_mount", 0, (syscall_t)syz_fuse_mount}, {"syz_fuseblk_mount", 0, (syscall_t)syz_fuseblk_mount}, + {"syz_init_net_socket$bt_hci", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_l2cap", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_sco", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$llc", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_llcp", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_raw", 0, (syscall_t)syz_init_net_socket}, {"syz_kvm_setup_cpu$arm64", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_kvm_setup_cpu$x86", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_open_dev$admmidi", 0, (syscall_t)syz_open_dev}, @@ -4898,11 +4896,11 @@ call_t syscalls[] = { #if defined(__aarch64__) || 0 #define GOARCH "arm64" -#define SYZ_REVISION "aec80f2e3bd0e72836bcd14211b2bfa408cb0a97" +#define SYZ_REVISION "c468a4ea718d49a30529c85ce2ffe57859d18d1c" #define SYZ_PAGE_SIZE 4096 #define SYZ_NUM_PAGES 4096 #define SYZ_DATA_OFFSET 536870912 -unsigned syscall_count = 1583; +unsigned syscall_count = 1582; call_t syscalls[] = { {"accept", 202}, {"accept$alg", 202}, @@ -4910,7 +4908,6 @@ call_t syscalls[] = { {"accept$inet", 202}, {"accept$inet6", 202}, {"accept$ipx", 202}, - {"accept$llc", 202}, {"accept$netrom", 202}, {"accept$nfc_llcp", 202}, {"accept$packet", 202}, @@ -4918,6 +4915,7 @@ call_t syscalls[] = { {"accept4", 242}, {"accept4$alg", 242}, {"accept4$ax25", 242}, + {"accept4$bt_l2cap", 242}, {"accept4$inet", 242}, {"accept4$inet6", 242}, {"accept4$ipx", 242}, @@ -6336,11 +6334,8 @@ call_t syscalls[] = { {"socket$ax25", 198}, {"socket$bt_bnep", 198}, {"socket$bt_cmtp", 198}, - {"socket$bt_hci", 198}, {"socket$bt_hidp", 198}, - {"socket$bt_l2cap", 198}, {"socket$bt_rfcomm", 198}, - {"socket$bt_sco", 198}, {"socket$can_bcm", 198}, {"socket$can_raw", 198}, {"socket$inet", 198}, @@ -6362,11 +6357,8 @@ call_t syscalls[] = { {"socket$kcm", 198}, {"socket$key", 198}, {"socket$l2tp", 198}, - {"socket$llc", 198}, {"socket$netlink", 198}, {"socket$netrom", 198}, - {"socket$nfc_llcp", 198}, - {"socket$nfc_raw", 198}, {"socket$nl_crypto", 198}, {"socket$nl_generic", 198}, {"socket$nl_netfilter", 198}, @@ -6397,7 +6389,6 @@ call_t syscalls[] = { {"socketpair$inet_tcp", 199}, {"socketpair$inet_udp", 199}, {"socketpair$ipx", 199}, - {"socketpair$llc", 199}, {"socketpair$packet", 199}, {"socketpair$unix", 199}, {"splice", 76}, @@ -6414,6 +6405,12 @@ call_t syscalls[] = { {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res}, {"syz_fuse_mount", 0, (syscall_t)syz_fuse_mount}, {"syz_fuseblk_mount", 0, (syscall_t)syz_fuseblk_mount}, + {"syz_init_net_socket$bt_hci", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_l2cap", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_sco", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$llc", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_llcp", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_raw", 0, (syscall_t)syz_init_net_socket}, {"syz_kvm_setup_cpu$arm64", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_kvm_setup_cpu$x86", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_open_dev$admmidi", 0, (syscall_t)syz_open_dev}, @@ -6493,11 +6490,11 @@ call_t syscalls[] = { #if defined(__ppc64__) || defined(__PPC64__) || defined(__powerpc64__) || 0 #define GOARCH "ppc64le" -#define SYZ_REVISION "9860271e4b0a00849f2d402585a806fea72af527" +#define SYZ_REVISION "b7dc281161fc5fcef8cef3878a5dd2dbbd7c45d5" #define SYZ_PAGE_SIZE 4096 #define SYZ_NUM_PAGES 4096 #define SYZ_DATA_OFFSET 536870912 -unsigned syscall_count = 1573; +unsigned syscall_count = 1572; call_t syscalls[] = { {"accept", 330}, {"accept$alg", 330}, @@ -6505,7 +6502,6 @@ call_t syscalls[] = { {"accept$inet", 330}, {"accept$inet6", 330}, {"accept$ipx", 330}, - {"accept$llc", 330}, {"accept$netrom", 330}, {"accept$nfc_llcp", 330}, {"accept$packet", 330}, @@ -6513,6 +6509,7 @@ call_t syscalls[] = { {"accept4", 344}, {"accept4$alg", 344}, {"accept4$ax25", 344}, + {"accept4$bt_l2cap", 344}, {"accept4$inet", 344}, {"accept4$inet6", 344}, {"accept4$ipx", 344}, @@ -7911,11 +7908,8 @@ call_t syscalls[] = { {"socket$ax25", 326}, {"socket$bt_bnep", 326}, {"socket$bt_cmtp", 326}, - {"socket$bt_hci", 326}, {"socket$bt_hidp", 326}, - {"socket$bt_l2cap", 326}, {"socket$bt_rfcomm", 326}, - {"socket$bt_sco", 326}, {"socket$can_bcm", 326}, {"socket$can_raw", 326}, {"socket$inet", 326}, @@ -7937,11 +7931,8 @@ call_t syscalls[] = { {"socket$kcm", 326}, {"socket$key", 326}, {"socket$l2tp", 326}, - {"socket$llc", 326}, {"socket$netlink", 326}, {"socket$netrom", 326}, - {"socket$nfc_llcp", 326}, - {"socket$nfc_raw", 326}, {"socket$nl_crypto", 326}, {"socket$nl_generic", 326}, {"socket$nl_netfilter", 326}, @@ -7972,7 +7963,6 @@ call_t syscalls[] = { {"socketpair$inet_tcp", 333}, {"socketpair$inet_udp", 333}, {"socketpair$ipx", 333}, - {"socketpair$llc", 333}, {"socketpair$packet", 333}, {"socketpair$unix", 333}, {"splice", 283}, @@ -7993,6 +7983,12 @@ call_t syscalls[] = { {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res}, {"syz_fuse_mount", 0, (syscall_t)syz_fuse_mount}, {"syz_fuseblk_mount", 0, (syscall_t)syz_fuseblk_mount}, + {"syz_init_net_socket$bt_hci", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_l2cap", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$bt_sco", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$llc", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_llcp", 0, (syscall_t)syz_init_net_socket}, + {"syz_init_net_socket$nfc_raw", 0, (syscall_t)syz_init_net_socket}, {"syz_kvm_setup_cpu$arm64", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_kvm_setup_cpu$x86", 0, (syscall_t)syz_kvm_setup_cpu}, {"syz_open_dev$admmidi", 0, (syscall_t)syz_open_dev}, diff --git a/pkg/csource/akaros_common.go b/pkg/csource/akaros_common.go index 5fc46dc29..c0984ed99 100644 --- a/pkg/csource/akaros_common.go +++ b/pkg/csource/akaros_common.go @@ -109,9 +109,10 @@ const int kRetryStatus = 69; const int kErrorStatus = 68; #endif -#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ - defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ - defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) +#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ + defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ + defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) || \ + defined(__NR_syz_init_net_socket) NORETURN PRINTF static void fail(const char* msg, ...) { int e = errno; diff --git a/pkg/csource/freebsd_common.go b/pkg/csource/freebsd_common.go index 8265e7013..1e6597bbc 100644 --- a/pkg/csource/freebsd_common.go +++ b/pkg/csource/freebsd_common.go @@ -100,9 +100,10 @@ const int kRetryStatus = 69; const int kErrorStatus = 68; #endif -#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ - defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ - defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) +#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ + defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ + defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) || \ + defined(__NR_syz_init_net_socket) NORETURN PRINTF static void fail(const char* msg, ...) { int e = errno; diff --git a/pkg/csource/linux_common.go b/pkg/csource/linux_common.go index 5b630e4fe..ee92f9fe5 100644 --- a/pkg/csource/linux_common.go +++ b/pkg/csource/linux_common.go @@ -113,11 +113,19 @@ var commonHeaderLinux = ` #include <sys/ioctl.h> #include <sys/stat.h> #endif +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_init_net_socket) +#include <fcntl.h> +#include <sched.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> +#endif #if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ defined(SYZ_USE_TMP_DIR) || defined(SYZ_HANDLE_SEGV) || defined(SYZ_TUN_ENABLE) || \ defined(SYZ_SANDBOX_NAMESPACE) || defined(SYZ_SANDBOX_SETUID) || \ - defined(SYZ_SANDBOX_NONE) || defined(SYZ_FAULT_INJECTION) || defined(__NR_syz_kvm_setup_cpu) + defined(SYZ_SANDBOX_NONE) || defined(SYZ_FAULT_INJECTION) || \ + defined(__NR_syz_kvm_setup_cpu) || defined(__NR_syz_init_net_socket) __attribute__((noreturn)) static void doexit(int status) { volatile unsigned i; @@ -193,9 +201,10 @@ const int kRetryStatus = 69; const int kErrorStatus = 68; #endif -#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ - defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ - defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) +#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ + defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ + defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) || \ + defined(__NR_syz_init_net_socket) NORETURN PRINTF static void fail(const char* msg, ...) { int e = errno; @@ -797,6 +806,32 @@ static uintptr_t syz_fuseblk_mount(uintptr_t a0, uintptr_t a1, uintptr_t a2, uin } #endif +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_init_net_socket) +#if defined(SYZ_EXECUTOR) || defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(SYZ_SANDBOX_NAMESPACE) +const int kInitNetNsFd = 253; +static uintptr_t syz_init_net_socket(uintptr_t domain, uintptr_t type, uintptr_t proto) +{ + int netns = open("/proc/self/ns/net", O_RDONLY); + if (netns == -1) + return netns; + if (setns(kInitNetNsFd, 0)) + return -1; + int sock = syscall(__NR_socket, domain, type, proto); + int err = errno; + if (setns(netns, 0)) + fail("setns(netns) failed"); + close(netns); + errno = err; + return sock; +} +#else +static uintptr_t syz_init_net_socket(uintptr_t domain, uintptr_t type, uintptr_t proto) +{ + return syscall(__NR_socket, domain, type, proto); +} +#endif +#endif + #if defined(SYZ_EXECUTOR) || defined(__NR_syz_kvm_setup_cpu) #if defined(__x86_64__) @@ -1771,6 +1806,15 @@ static void sandbox_common() setpgrp(); setsid(); +#if defined(SYZ_EXECUTOR) || defined(__NR_syz_init_net_socket) + int netns = open("/proc/self/ns/net", O_RDONLY); + if (netns == -1) + fail("open(/proc/self/ns/net) failed"); + if (dup2(netns, kInitNetNsFd) < 0) + fail("dup2(netns, kInitNetNsFd) failed"); + close(netns); +#endif + struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 128 << 20; setrlimit(RLIMIT_AS, &rlim); diff --git a/pkg/csource/netbsd_common.go b/pkg/csource/netbsd_common.go index 9d3885d46..3714f29da 100644 --- a/pkg/csource/netbsd_common.go +++ b/pkg/csource/netbsd_common.go @@ -100,9 +100,10 @@ const int kRetryStatus = 69; const int kErrorStatus = 68; #endif -#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ - defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ - defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) +#if defined(SYZ_EXECUTOR) || (defined(SYZ_REPEAT) && defined(SYZ_WAIT_REPEAT)) || \ + defined(SYZ_USE_TMP_DIR) || defined(SYZ_TUN_ENABLE) || defined(SYZ_SANDBOX_NAMESPACE) || \ + defined(SYZ_SANDBOX_NONE) || defined(SYZ_SANDBOX_SETUID) || defined(__NR_syz_kvm_setup_cpu) || \ + defined(__NR_syz_init_net_socket) NORETURN PRINTF static void fail(const char* msg, ...) { int e = errno; diff --git a/pkg/host/host_akaros.go b/pkg/host/host_akaros.go index 6c3fbb6d3..91ee49a7d 100644 --- a/pkg/host/host_akaros.go +++ b/pkg/host/host_akaros.go @@ -10,7 +10,7 @@ import ( ) // DetectSupportedSyscalls returns list on supported syscalls on host. -func DetectSupportedSyscalls(target *prog.Target) (map[*prog.Syscall]bool, error) { +func DetectSupportedSyscalls(target *prog.Target, sandbox string) (map[*prog.Syscall]bool, error) { supported := make(map[*prog.Syscall]bool) for _, c := range target.Syscalls { supported[c] = true diff --git a/pkg/host/host_freebsd.go b/pkg/host/host_freebsd.go index d2745e376..39e8655c4 100644 --- a/pkg/host/host_freebsd.go +++ b/pkg/host/host_freebsd.go @@ -8,7 +8,7 @@ import ( ) // DetectSupportedSyscalls returns list on supported syscalls on host. -func DetectSupportedSyscalls(target *prog.Target) (map[*prog.Syscall]bool, error) { +func DetectSupportedSyscalls(target *prog.Target, sandbox string) (map[*prog.Syscall]bool, error) { supported := make(map[*prog.Syscall]bool) for _, c := range target.Syscalls { supported[c] = true diff --git a/pkg/host/host_fuchsia.go b/pkg/host/host_fuchsia.go index 37cf8b847..b145961df 100644 --- a/pkg/host/host_fuchsia.go +++ b/pkg/host/host_fuchsia.go @@ -10,7 +10,7 @@ import ( ) // DetectSupportedSyscalls returns list on supported syscalls on host. -func DetectSupportedSyscalls(target *prog.Target) (map[*prog.Syscall]bool, error) { +func DetectSupportedSyscalls(target *prog.Target, sandbox string) (map[*prog.Syscall]bool, error) { supported := make(map[*prog.Syscall]bool) for _, c := range target.Syscalls { supported[c] = true diff --git a/pkg/host/host_linux.go b/pkg/host/host_linux.go index fd3dc5bb8..57ce3e79e 100644 --- a/pkg/host/host_linux.go +++ b/pkg/host/host_linux.go @@ -17,7 +17,7 @@ import ( ) // DetectSupportedSyscalls returns list on supported syscalls on host. -func DetectSupportedSyscalls(target *prog.Target) (map[*prog.Syscall]bool, error) { +func DetectSupportedSyscalls(target *prog.Target, sandbox string) (map[*prog.Syscall]bool, error) { // There are 3 possible strategies: // 1. Executes all syscalls with presumably invalid arguments and check for ENOprog. // But not all syscalls are safe to execute. For example, pause will hang, @@ -31,23 +31,20 @@ func DetectSupportedSyscalls(target *prog.Target) (map[*prog.Syscall]bool, error kallsyms, _ := ioutil.ReadFile("/proc/kallsyms") supported := make(map[*prog.Syscall]bool) for _, c := range target.Syscalls { - if isSupported(kallsyms, c) { + if isSupported(sandbox, kallsyms, c) { supported[c] = true } } return supported, nil } -func isSupported(kallsyms []byte, c *prog.Syscall) bool { +func isSupported(sandbox string, kallsyms []byte, c *prog.Syscall) bool { if strings.HasPrefix(c.CallName, "syz_") { - return isSupportedSyzkall(c) + return isSupportedSyzkall(sandbox, c) } if strings.HasPrefix(c.Name, "socket$") { return isSupportedSocket(c) } - if strings.HasPrefix(c.Name, "open$") { - return isSupportedOpen(c) - } if strings.HasPrefix(c.Name, "openat$") { return isSupportedOpenAt(c) } @@ -69,7 +66,7 @@ var kallsymsMap = map[string]string{ "umount2": "umount", } -func isSupportedSyzkall(c *prog.Syscall) bool { +func isSupportedSyzkall(sandbox string, c *prog.Syscall) bool { switch c.CallName { case "syz_open_dev": if _, ok := c.Args[0].(*prog.ConstType); ok { @@ -81,7 +78,7 @@ func isSupportedSyzkall(c *prog.Syscall) bool { if !ok { panic("first open arg is not a pointer to string const") } - if syscall.Getuid() != 0 { + if syscall.Getuid() != 0 || sandbox == "setuid" { return false } var check func(dev string) bool @@ -102,15 +99,21 @@ func isSupportedSyzkall(c *prog.Syscall) bool { case "syz_open_pts": return true case "syz_fuse_mount": + if syscall.Getuid() != 0 || sandbox == "setuid" { + return false + } return osutil.IsExist("/dev/fuse") case "syz_fuseblk_mount": - return osutil.IsExist("/dev/fuse") && syscall.Getuid() == 0 + if syscall.Getuid() != 0 || sandbox == "setuid" { + return false + } + return osutil.IsExist("/dev/fuse") case "syz_emit_ethernet", "syz_extract_tcp_res": fd, err := syscall.Open("/dev/net/tun", syscall.O_RDWR, 0) if err == nil { syscall.Close(fd) } - return err == nil && syscall.Getuid() == 0 + return err == nil case "syz_kvm_setup_cpu": switch c.Name { case "syz_kvm_setup_cpu$x86": @@ -118,6 +121,15 @@ func isSupportedSyzkall(c *prog.Syscall) bool { case "syz_kvm_setup_cpu$arm64": return runtime.GOARCH == "arm64" } + case "syz_init_net_socket": + // Unfortunately this only works with sandbox none at the moment. + // The problem is that setns of a network namespace requires CAP_SYS_ADMIN + // in the target namespace, and we've lost all privs in the init namespace + // during creation of a user namespace. + if syscall.Getuid() != 0 || sandbox != "none" { + return false + } + return isSupportedSocket(c) } panic("unknown syzkall: " + c.Name) } @@ -125,7 +137,6 @@ func isSupportedSyzkall(c *prog.Syscall) bool { func isSupportedSocket(c *prog.Syscall) bool { af, ok := c.Args[0].(*prog.ConstType) if !ok { - println(c.Name) panic("socket family is not const") } fd, err := syscall.Socket(int(af.Val), 0, 0) @@ -135,18 +146,6 @@ func isSupportedSocket(c *prog.Syscall) bool { return err != syscall.ENOSYS && err != syscall.EAFNOSUPPORT } -func isSupportedOpen(c *prog.Syscall) bool { - fname, ok := extractStringConst(c.Args[0]) - if !ok { - return true - } - fd, err := syscall.Open(fname, syscall.O_RDONLY, 0) - if fd != -1 { - syscall.Close(fd) - } - return err == nil -} - func isSupportedOpenAt(c *prog.Syscall) bool { fname, ok := extractStringConst(c.Args[1]) if !ok { diff --git a/pkg/host/host_linux_test.go b/pkg/host/host_linux_test.go index e32fe09cc..9deda69bc 100644 --- a/pkg/host/host_linux_test.go +++ b/pkg/host/host_linux_test.go @@ -21,7 +21,7 @@ func TestLog(t *testing.T) { t.Fatal(err) } // Dump for manual inspection. - supp, err := DetectSupportedSyscalls(target) + supp, err := DetectSupportedSyscalls(target, "none") if err != nil { t.Skipf("skipping: %v", err) } @@ -54,7 +54,7 @@ func TestSupportedSyscalls(t *testing.T) { if err != nil { t.Fatal(err) } - supp, err := DetectSupportedSyscalls(target) + supp, err := DetectSupportedSyscalls(target, "none") if err != nil { t.Skipf("skipping: %v", err) } diff --git a/pkg/host/host_netbsd.go b/pkg/host/host_netbsd.go index d2745e376..39e8655c4 100644 --- a/pkg/host/host_netbsd.go +++ b/pkg/host/host_netbsd.go @@ -8,7 +8,7 @@ import ( ) // DetectSupportedSyscalls returns list on supported syscalls on host. -func DetectSupportedSyscalls(target *prog.Target) (map[*prog.Syscall]bool, error) { +func DetectSupportedSyscalls(target *prog.Target, sandbox string) (map[*prog.Syscall]bool, error) { supported := make(map[*prog.Syscall]bool) for _, c := range target.Syscalls { supported[c] = true diff --git a/pkg/host/host_windows.go b/pkg/host/host_windows.go index d2745e376..39e8655c4 100644 --- a/pkg/host/host_windows.go +++ b/pkg/host/host_windows.go @@ -8,7 +8,7 @@ import ( ) // DetectSupportedSyscalls returns list on supported syscalls on host. -func DetectSupportedSyscalls(target *prog.Target) (map[*prog.Syscall]bool, error) { +func DetectSupportedSyscalls(target *prog.Target, sandbox string) (map[*prog.Syscall]bool, error) { supported := make(map[*prog.Syscall]bool) for _, c := range target.Syscalls { supported[c] = true diff --git a/sys/linux/386.go b/sys/linux/386.go index 191f758f7..0e13431f4 100644 --- a/sys/linux/386.go +++ b/sys/linux/386.go @@ -5416,10 +5416,6 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "llc_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_packet", IsVarlen: true}, Fields: []Type{ &UnionType{Key: StructKey{Name: "llc_payload"}, FldName: "payload"}, }}}, - {Key: StructKey{Name: "llc_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, - }}}, {Key: StructKey{Name: "llc_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_payload", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "llc_generic_packet"}, FldName: "llc"}, &StructType{Key: StructKey{Name: "llc_snap_packet"}, FldName: "snap"}, @@ -8992,7 +8988,7 @@ var structDescs_386 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1}}}, @@ -9002,7 +8998,7 @@ var structDescs_386 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 1}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 1}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 1}}}, @@ -9012,7 +9008,7 @@ var structDescs_386 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 2}}}, @@ -9029,49 +9025,49 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "full_sockaddr_ax25", Dir: 1}, FldName: "full"}, }}}, {Key: StructKey{Name: "sockaddr_nfc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 1}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 2}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 2}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 88}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 88, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1, ArgDir: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nl", TypeSize: 12}, Fields: []Type{ &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}, FldName: "kern"}, @@ -12089,6 +12085,12 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 364, Name: "accept4$bt_l2cap", CallName: "accept4", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_l2", Dir: 1}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2048, 524288}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 364, Name: "accept4$inet", CallName: "accept4", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in", Dir: 1}}}, @@ -20102,31 +20104,16 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 5}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_cmtp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 359, Name: "socket$bt_hci", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 359, Name: "socket$bt_hidp", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 6}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hidp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 359, Name: "socket$bt_l2cap", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{5, 1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 359, Name: "socket$bt_rfcomm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_rfcomm_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 3}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 3}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_rfcomm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 359, Name: "socket$bt_sco", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 5}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 2}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 359, Name: "socket$can_bcm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 29}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, @@ -20232,11 +20219,6 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_l2tp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 359, Name: "socket$llc", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 359, Name: "socket$netlink", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, @@ -20247,16 +20229,6 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 359, Name: "socket$nfc_llcp", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 359, Name: "socket$nfc_raw", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 359, Name: "socket$nl_crypto", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, @@ -20425,12 +20397,6 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ipx_pair", Dir: 1}}}, }}, - {NR: 360, Name: "socketpair$llc", CallName: "socketpair", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "llc_pair", Dir: 1}}}, - }}, {NR: 360, Name: "socketpair$packet", CallName: "socketpair", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 17}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "packet_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{3, 2}}, @@ -20538,6 +20504,36 @@ var syscalls_386 = []*Syscall{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "blksize", TypeSize: 4}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mount_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{4096, 128, 64, 8192, 1024, 4, 2048, 8, 2, 1, 2097152, 32, 32768, 16777216, 16, 16384, 65536, 131072, 262144, 524288, 1048576, 8388608, 33554432}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_fuse", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_hci", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_l2cap", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{5, 1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_sco", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 2}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$llc", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 26}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{2, 1}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_llcp", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_raw", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_kvm_setup_cpu$arm64", CallName: "syz_kvm_setup_cpu", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmvm", FldName: "fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmcpu", FldName: "cpufd", TypeSize: 4}}, @@ -23062,6 +23058,7 @@ var consts_386 = []ConstValue{ {Name: "NEXTHDR_NONE", Value: 59}, {Name: "NEXTHDR_ROUTING", Value: 43}, {Name: "NFACCT_NAME_MAX", Value: 32}, + {Name: "NFC_LLCP_MAX_SERVICE_NAME", Value: 63}, {Name: "NFC_LLCP_MIUX", Value: 1}, {Name: "NFC_LLCP_REMOTE_LTO", Value: 3}, {Name: "NFC_LLCP_REMOTE_MIU", Value: 2}, @@ -25081,4 +25078,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "83da58aa1a9a2171aa34196065470a80047bd263" +const revision_386 = "438ceebbeee4b8331ecafae07e85a8079120816c" diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go index 35dc2649e..ea82a488d 100644 --- a/sys/linux/amd64.go +++ b/sys/linux/amd64.go @@ -5520,10 +5520,6 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "llc_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_packet", IsVarlen: true}, Fields: []Type{ &UnionType{Key: StructKey{Name: "llc_payload"}, FldName: "payload"}, }}}, - {Key: StructKey{Name: "llc_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, - }}}, {Key: StructKey{Name: "llc_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_payload", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "llc_generic_packet"}, FldName: "llc"}, &StructType{Key: StructKey{Name: "llc_snap_packet"}, FldName: "snap"}, @@ -9194,7 +9190,7 @@ var structDescs_amd64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1}}}, @@ -9204,7 +9200,7 @@ var structDescs_amd64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 1}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 1}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 1}}}, @@ -9214,7 +9210,7 @@ var structDescs_amd64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 2}}}, @@ -9231,49 +9227,49 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "full_sockaddr_ax25", Dir: 1}, FldName: "full"}, }}}, {Key: StructKey{Name: "sockaddr_nfc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 1}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 2}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 2}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 96}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 7}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 96, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1, ArgDir: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 7}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8, ArgDir: 1}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nl", TypeSize: 12}, Fields: []Type{ &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}, FldName: "kern"}, @@ -12424,11 +12420,6 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_ipx", Dir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ipx", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 43, Name: "accept$llc", CallName: "accept", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_llc", Dir: 1}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 43, Name: "accept$netrom", CallName: "accept", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_netrom", Dir: 1}}}, @@ -12467,6 +12458,12 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 288, Name: "accept4$bt_l2cap", CallName: "accept4", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_l2", Dir: 1}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 288, Name: "accept4$inet", CallName: "accept4", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in", Dir: 1}}}, @@ -20699,31 +20696,16 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 5}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_cmtp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 41, Name: "socket$bt_hci", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 41, Name: "socket$bt_hidp", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 6}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hidp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 41, Name: "socket$bt_l2cap", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{5, 1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 41, Name: "socket$bt_rfcomm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_rfcomm_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 3}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_rfcomm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 41, Name: "socket$bt_sco", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 2}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 41, Name: "socket$can_bcm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 29}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2}, @@ -20829,11 +20811,6 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_l2tp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 41, Name: "socket$llc", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 41, Name: "socket$netlink", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, @@ -20844,16 +20821,6 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 41, Name: "socket$nfc_llcp", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 41, Name: "socket$nfc_raw", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 41, Name: "socket$nl_crypto", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, @@ -21022,12 +20989,6 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ipx_pair", Dir: 1}}}, }}, - {NR: 53, Name: "socketpair$llc", CallName: "socketpair", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "llc_pair", Dir: 1}}}, - }}, {NR: 53, Name: "socketpair$packet", CallName: "socketpair", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 17}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "packet_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{3, 2}}, @@ -21135,6 +21096,36 @@ var syscalls_amd64 = []*Syscall{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "blksize", TypeSize: 8}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mount_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{4096, 128, 64, 8192, 1024, 4, 2048, 8, 2, 1, 2097152, 32, 32768, 16777216, 16, 16384, 65536, 131072, 262144, 524288, 1048576, 8388608, 33554432}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_fuse", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_hci", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_l2cap", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{5, 1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_sco", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 2}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$llc", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_llcp", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_raw", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_kvm_setup_cpu$arm64", CallName: "syz_kvm_setup_cpu", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmvm", FldName: "fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmcpu", FldName: "cpufd", TypeSize: 4}}, @@ -23659,6 +23650,7 @@ var consts_amd64 = []ConstValue{ {Name: "NEXTHDR_NONE", Value: 59}, {Name: "NEXTHDR_ROUTING", Value: 43}, {Name: "NFACCT_NAME_MAX", Value: 32}, + {Name: "NFC_LLCP_MAX_SERVICE_NAME", Value: 63}, {Name: "NFC_LLCP_MIUX", Value: 1}, {Name: "NFC_LLCP_REMOTE_LTO", Value: 3}, {Name: "NFC_LLCP_REMOTE_MIU", Value: 2}, @@ -25703,4 +25695,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "6ec7ea7963734bf917737585902619bc1d3aebe8" +const revision_amd64 = "00ff1c6d3a163fa16b597ce6edab9c4956129d09" diff --git a/sys/linux/arm.go b/sys/linux/arm.go index 2a1450d29..1118e9f0f 100644 --- a/sys/linux/arm.go +++ b/sys/linux/arm.go @@ -5218,10 +5218,6 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "llc_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_packet", IsVarlen: true}, Fields: []Type{ &UnionType{Key: StructKey{Name: "llc_payload"}, FldName: "payload"}, }}}, - {Key: StructKey{Name: "llc_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, - }}}, {Key: StructKey{Name: "llc_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_payload", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "llc_generic_packet"}, FldName: "llc"}, &StructType{Key: StructKey{Name: "llc_snap_packet"}, FldName: "snap"}, @@ -8841,7 +8837,7 @@ var structDescs_arm = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1}}}, @@ -8851,7 +8847,7 @@ var structDescs_arm = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 1}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 1}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 1}}}, @@ -8861,7 +8857,7 @@ var structDescs_arm = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 2}}}, @@ -8878,49 +8874,49 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "full_sockaddr_ax25", Dir: 1}, FldName: "full"}, }}}, {Key: StructKey{Name: "sockaddr_nfc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 1}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 2}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 2}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 88}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 88, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1, ArgDir: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nl", TypeSize: 12}, Fields: []Type{ &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}, FldName: "kern"}, @@ -11945,11 +11941,6 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_ipx", Dir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ipx", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 285, Name: "accept$llc", CallName: "accept", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_llc", Dir: 1}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 285, Name: "accept$netrom", CallName: "accept", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 4, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_netrom", Dir: 1}}}, @@ -11988,6 +11979,12 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 366, Name: "accept4$bt_l2cap", CallName: "accept4", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_l2", Dir: 1}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2048, 524288}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 366, Name: "accept4$inet", CallName: "accept4", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in", Dir: 1}}}, @@ -19993,31 +19990,16 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 5}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_cmtp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 281, Name: "socket$bt_hci", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 281, Name: "socket$bt_hidp", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 6}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hidp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 281, Name: "socket$bt_l2cap", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{5, 1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 281, Name: "socket$bt_rfcomm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_rfcomm_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 3}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 3}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_rfcomm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 281, Name: "socket$bt_sco", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 5}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 2}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 281, Name: "socket$can_bcm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 29}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, @@ -20118,11 +20100,6 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_l2tp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 281, Name: "socket$llc", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 281, Name: "socket$netlink", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, @@ -20133,16 +20110,6 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 281, Name: "socket$nfc_llcp", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 281, Name: "socket$nfc_raw", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 281, Name: "socket$nl_crypto", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, @@ -20305,12 +20272,6 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ipx_pair", Dir: 1}}}, }}, - {NR: 288, Name: "socketpair$llc", CallName: "socketpair", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "llc_pair", Dir: 1}}}, - }}, {NR: 288, Name: "socketpair$packet", CallName: "socketpair", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 17}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "packet_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{3, 2}}, @@ -20412,6 +20373,36 @@ var syscalls_arm = []*Syscall{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "blksize", TypeSize: 4}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mount_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{4096, 128, 64, 8192, 1024, 4, 2048, 8, 2, 1, 2097152, 32, 32768, 16777216, 16, 16384, 65536, 131072, 262144, 524288, 1048576, 8388608, 33554432}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_fuse", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_hci", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_l2cap", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{5, 1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_sco", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 4}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 2}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$llc", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 26}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{2, 1}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_llcp", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_raw", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_kvm_setup_cpu$arm64", CallName: "syz_kvm_setup_cpu", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmvm", FldName: "fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmcpu", FldName: "cpufd", TypeSize: 4}}, @@ -22855,6 +22846,7 @@ var consts_arm = []ConstValue{ {Name: "NEXTHDR_NONE", Value: 59}, {Name: "NEXTHDR_ROUTING", Value: 43}, {Name: "NFACCT_NAME_MAX", Value: 32}, + {Name: "NFC_LLCP_MAX_SERVICE_NAME", Value: 63}, {Name: "NFC_LLCP_MIUX", Value: 1}, {Name: "NFC_LLCP_REMOTE_LTO", Value: 3}, {Name: "NFC_LLCP_REMOTE_MIU", Value: 2}, @@ -24863,4 +24855,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "04dc857071f8d43f6f79aea2320270be4e1d805e" +const revision_arm = "5a1569893cefa812603d4f4627986d19ddff1708" diff --git a/sys/linux/arm64.go b/sys/linux/arm64.go index 12acf636b..a0e242cf9 100644 --- a/sys/linux/arm64.go +++ b/sys/linux/arm64.go @@ -5325,10 +5325,6 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "llc_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_packet", IsVarlen: true}, Fields: []Type{ &UnionType{Key: StructKey{Name: "llc_payload"}, FldName: "payload"}, }}}, - {Key: StructKey{Name: "llc_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, - }}}, {Key: StructKey{Name: "llc_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_payload", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "llc_generic_packet"}, FldName: "llc"}, &StructType{Key: StructKey{Name: "llc_snap_packet"}, FldName: "snap"}, @@ -8999,7 +8995,7 @@ var structDescs_arm64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1}}}, @@ -9009,7 +9005,7 @@ var structDescs_arm64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 1}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 1}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 1}}}, @@ -9019,7 +9015,7 @@ var structDescs_arm64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 2}}}, @@ -9036,49 +9032,49 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "full_sockaddr_ax25", Dir: 1}, FldName: "full"}, }}}, {Key: StructKey{Name: "sockaddr_nfc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 1}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 2}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 2}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 96}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 7}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 96, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1, ArgDir: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 7}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8, ArgDir: 1}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nl", TypeSize: 12}, Fields: []Type{ &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}, FldName: "kern"}, @@ -12200,11 +12196,6 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_ipx", Dir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ipx", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 202, Name: "accept$llc", CallName: "accept", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_llc", Dir: 1}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 202, Name: "accept$netrom", CallName: "accept", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_netrom", Dir: 1}}}, @@ -12243,6 +12234,12 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 242, Name: "accept4$bt_l2cap", CallName: "accept4", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_l2", Dir: 1}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 242, Name: "accept4$inet", CallName: "accept4", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in", Dir: 1}}}, @@ -20206,31 +20203,16 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 5}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_cmtp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 198, Name: "socket$bt_hci", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 198, Name: "socket$bt_hidp", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 6}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hidp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 198, Name: "socket$bt_l2cap", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{5, 1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 198, Name: "socket$bt_rfcomm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_rfcomm_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 3}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_rfcomm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 198, Name: "socket$bt_sco", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 2}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 198, Name: "socket$can_bcm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 29}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2}, @@ -20336,11 +20318,6 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_l2tp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 198, Name: "socket$llc", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 198, Name: "socket$netlink", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, @@ -20351,16 +20328,6 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 198, Name: "socket$nfc_llcp", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 198, Name: "socket$nfc_raw", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 198, Name: "socket$nl_crypto", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, @@ -20529,12 +20496,6 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ipx_pair", Dir: 1}}}, }}, - {NR: 199, Name: "socketpair$llc", CallName: "socketpair", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "llc_pair", Dir: 1}}}, - }}, {NR: 199, Name: "socketpair$packet", CallName: "socketpair", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 17}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "packet_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{3, 2}}, @@ -20622,6 +20583,36 @@ var syscalls_arm64 = []*Syscall{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "blksize", TypeSize: 8}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mount_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{4096, 128, 64, 8192, 1024, 4, 2048, 8, 2, 1, 2097152, 32, 32768, 16777216, 16, 16384, 65536, 131072, 262144, 524288, 1048576, 8388608, 33554432}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_fuse", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_hci", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_l2cap", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{5, 1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_sco", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 2}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$llc", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_llcp", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_raw", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_kvm_setup_cpu$arm64", CallName: "syz_kvm_setup_cpu", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmvm", FldName: "fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmcpu", FldName: "cpufd", TypeSize: 4}}, @@ -23088,6 +23079,7 @@ var consts_arm64 = []ConstValue{ {Name: "NEXTHDR_NONE", Value: 59}, {Name: "NEXTHDR_ROUTING", Value: 43}, {Name: "NFACCT_NAME_MAX", Value: 32}, + {Name: "NFC_LLCP_MAX_SERVICE_NAME", Value: 63}, {Name: "NFC_LLCP_MIUX", Value: 1}, {Name: "NFC_LLCP_REMOTE_LTO", Value: 3}, {Name: "NFC_LLCP_REMOTE_MIU", Value: 2}, @@ -25085,4 +25077,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "aec80f2e3bd0e72836bcd14211b2bfa408cb0a97" +const revision_arm64 = "c468a4ea718d49a30529c85ce2ffe57859d18d1c" diff --git a/sys/linux/init.go b/sys/linux/init.go index 4e04f237b..f1834b8d2 100644 --- a/sys/linux/init.go +++ b/sys/linux/init.go @@ -34,6 +34,9 @@ func initTarget(target *prog.Target) { CLOCK_REALTIME: target.ConstMap["CLOCK_REALTIME"], ARCH_SET_FS: target.ConstMap["ARCH_SET_FS"], ARCH_SET_GS: target.ConstMap["ARCH_SET_GS"], + AF_NFC: target.ConstMap["AF_NFC"], + AF_LLC: target.ConstMap["AF_LLC"], + AF_BLUETOOTH: target.ConstMap["AF_BLUETOOTH"], } target.MakeMmap = arch.makeMmap @@ -104,6 +107,9 @@ type arch struct { CLOCK_REALTIME uint64 ARCH_SET_FS uint64 ARCH_SET_GS uint64 + AF_NFC uint64 + AF_LLC uint64 + AF_BLUETOOTH uint64 } // createMmapCall creates a "normal" mmap call that maps [addr, addr+size) memory range. @@ -195,6 +201,14 @@ func (arch *arch) sanitizeCall(c *prog.Call) { if uint64(uint32(cmd.Val)) == arch.ARCH_SET_FS { cmd.Val = arch.ARCH_SET_GS } + case "syz_init_net_socket": + // Don't let it mess with arbitrary sockets in init namespace. + family := c.Args[0].(*prog.ConstArg) + switch uint64(uint32(family.Val)) { + case arch.AF_NFC, arch.AF_LLC, arch.AF_BLUETOOTH: + default: + family.Val = ^uint64(0) + } } switch c.Meta.Name { diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go index 761d9c42a..34a5c8cdd 100644 --- a/sys/linux/ppc64le.go +++ b/sys/linux/ppc64le.go @@ -5301,10 +5301,6 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "llc_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_packet", IsVarlen: true}, Fields: []Type{ &UnionType{Key: StructKey{Name: "llc_payload"}, FldName: "payload"}, }}}, - {Key: StructKey{Name: "llc_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, - }}}, {Key: StructKey{Name: "llc_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "llc_payload", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "llc_generic_packet"}, FldName: "llc"}, &StructType{Key: StructKey{Name: "llc_snap_packet"}, FldName: "snap"}, @@ -8926,7 +8922,7 @@ var structDescs_ppc64le = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1}}}, @@ -8936,7 +8932,7 @@ var structDescs_ppc64le = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 1}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 1}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 1}}}, @@ -8946,7 +8942,7 @@ var structDescs_ppc64le = []*KeyedStruct{ }}}, {Key: StructKey{Name: "sockaddr_llc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_llc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sllc_family", TypeSize: 2, ArgDir: 2}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_protocols", FldName: "sllc_protocol", TypeSize: 2, ArgDir: 2}, BigEndian: true}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 245, 246, 247, 248}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "dev_type_arphdr", FldName: "sllc_arphrd", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 15, 19, 23, 24, 27, 32, 256, 257, 258, 259, 260, 264, 270, 271, 272, 280, 512, 513, 513, 516, 517, 518, 519, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 800, 801, 802, 803, 804, 805, 820, 821, 822, 823, 824, 825, 826, 65535, 65534}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_test", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_xid", TypeSize: 1, ArgDir: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sllc_ua", TypeSize: 1, ArgDir: 2}}}, @@ -8963,49 +8959,49 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "full_sockaddr_ax25", Dir: 1}, FldName: "full"}, }}}, {Key: StructKey{Name: "sockaddr_nfc"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 1}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 1}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc", TypeSize: 16, ArgDir: 2}, Fields: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 2}}, Val: 39}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sa_family", TypeSize: 2, ArgDir: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev", TypeSize: 4, ArgDir: 2}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "targ", TypeSize: 4, ArgDir: 2}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "dev_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target_idx", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 2}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "nfc_protocol", TypeSize: 4, ArgDir: 2}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 96}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 7}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nfc_llcp", TypeSize: 96, ArgDir: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "family", TypeSize: 2, ArgDir: 1}}, Val: 39}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "devidx", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "target", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 2}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_proto", FldName: "proto", TypeSize: 4, ArgDir: 1}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "dsap", TypeSize: 1, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "ssap", TypeSize: 1, ArgDir: 1}}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "serv", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "service_name", TypeSize: 63, ArgDir: 1}, Kind: 1, RangeBegin: 63, RangeEnd: 63}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 7}}, IsPad: true}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "servlen", TypeSize: 8, ArgDir: 1}}, Kind: 2, RangeEnd: 63}, }}}, {Key: StructKey{Name: "sockaddr_nl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_nl", TypeSize: 12}, Fields: []Type{ &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}, FldName: "kern"}, @@ -12068,11 +12064,6 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_ipx", Dir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ipx", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 330, Name: "accept$llc", CallName: "accept", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "fd", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_llc", Dir: 1}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 330, Name: "accept$netrom", CallName: "accept", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_netrom", Dir: 1}}}, @@ -12111,6 +12102,12 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 344, Name: "accept4$bt_l2cap", CallName: "accept4", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_l2", Dir: 1}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peerlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "peer"}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "accept_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 344, Name: "accept4$inet", CallName: "accept4", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "peer", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in", Dir: 1}}}, @@ -19938,31 +19935,16 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 5}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_cmtp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 326, Name: "socket$bt_hci", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 326, Name: "socket$bt_hidp", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 6}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hidp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 326, Name: "socket$bt_l2cap", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{5, 1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 326, Name: "socket$bt_rfcomm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_rfcomm_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 3}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_rfcomm", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 326, Name: "socket$bt_sco", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 2}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 326, Name: "socket$can_bcm", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 29}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 2}, @@ -20068,11 +20050,6 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_l2tp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 326, Name: "socket$llc", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 326, Name: "socket$netlink", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, @@ -20083,16 +20060,6 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_netrom", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 326, Name: "socket$nfc_llcp", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {NR: 326, Name: "socket$nfc_raw", CallName: "socket", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 326, Name: "socket$nl_crypto", CallName: "socket", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 16}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, @@ -20261,12 +20228,6 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ipx_pair", Dir: 1}}}, }}, - {NR: 333, Name: "socketpair$llc", CallName: "socketpair", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "llc_pair", Dir: 1}}}, - }}, {NR: 333, Name: "socketpair$packet", CallName: "socketpair", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 17}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "packet_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{3, 2}}, @@ -20368,6 +20329,36 @@ var syscalls_ppc64le = []*Syscall{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "blksize", TypeSize: 8}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mount_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{4096, 128, 64, 8192, 1024, 4, 2048, 8, 2, 1, 2097152, 32, 32768, 16777216, 16, 16384, 65536, 131072, 262144, 524288, 1048576, 8388608, 33554432}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_fuse", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_hci", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_hci", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_l2cap", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bt_l2cap_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{5, 1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_l2cap", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$bt_sco", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fam", TypeSize: 8}}, Val: 31}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 5}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 2}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_bt_sco", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$llc", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 26}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "llc_socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{2, 1}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_llc", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_llcp", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_llcp_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}, Val: 1}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_llcp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {Name: "syz_init_net_socket$nfc_raw", CallName: "syz_init_net_socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 39}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "nfc_raw_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 3}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nfc_raw", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {Name: "syz_kvm_setup_cpu$arm64", CallName: "syz_kvm_setup_cpu", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmvm", FldName: "fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kvmcpu", FldName: "cpufd", TypeSize: 4}}, @@ -22845,6 +22836,7 @@ var consts_ppc64le = []ConstValue{ {Name: "NEXTHDR_NONE", Value: 59}, {Name: "NEXTHDR_ROUTING", Value: 43}, {Name: "NFACCT_NAME_MAX", Value: 32}, + {Name: "NFC_LLCP_MAX_SERVICE_NAME", Value: 63}, {Name: "NFC_LLCP_MIUX", Value: 1}, {Name: "NFC_LLCP_REMOTE_LTO", Value: 3}, {Name: "NFC_LLCP_REMOTE_MIU", Value: 2}, @@ -24847,4 +24839,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "9860271e4b0a00849f2d402585a806fea72af527" +const revision_ppc64le = "b7dc281161fc5fcef8cef3878a5dd2dbbd7c45d5" diff --git a/sys/linux/socket_bluetooth.txt b/sys/linux/socket_bluetooth.txt index 1ff37f92a..34e464d19 100644 --- a/sys/linux/socket_bluetooth.txt +++ b/sys/linux/socket_bluetooth.txt @@ -19,7 +19,7 @@ include <asm/ioctls.h> resource sock_bt[sock] resource sock_bt_hci[sock_bt] -socket$bt_hci(fam const[AF_BLUETOOTH], type const[SOCK_RAW], proto const[BTPROTO_HCI]) sock_bt_hci +syz_init_net_socket$bt_hci(fam const[AF_BLUETOOTH], type const[SOCK_RAW], proto const[BTPROTO_HCI]) sock_bt_hci bind$bt_hci(fd sock_bt_hci, addr ptr[in, sockaddr_hci], addrlen len[addr]) ioctl$sock_bt_hci(fd sock_bt_hci, cmd flags[bt_hci_ioctl], arg buffer[inout]) setsockopt$bt_hci_HCI_DATA_DIR(fd sock_bt_hci, level const[0], opt const[HCI_DATA_DIR], arg ptr[in, int32], arglen len[arg]) @@ -29,7 +29,7 @@ getsockopt$bt_hci(fd sock, level const[0], opt flags[bt_hci_sockopt], arg buffer resource sock_bt_sco[sock_bt] -socket$bt_sco(fam const[AF_BLUETOOTH], type const[SOCK_SEQPACKET], proto const[BTPROTO_SCO]) sock_bt_sco +syz_init_net_socket$bt_sco(fam const[AF_BLUETOOTH], type const[SOCK_SEQPACKET], proto const[BTPROTO_SCO]) sock_bt_sco bind$bt_sco(fd sock_bt_sco, addr ptr[in, sockaddr_sco], addrlen len[addr]) connect$bt_sco(fd sock_bt_sco, addr ptr[in, sockaddr_sco], addrlen len[addr]) getsockopt$bt_sco_SCO_OPTIONS(fd sock_bt_sco, level const[SOL_SCO], opt const[SCO_OPTIONS], arg buffer[out], arglen ptr[inout, len[arg, int32]]) @@ -37,9 +37,10 @@ getsockopt$bt_sco_SCO_CONNINFO(fd sock_bt_sco, level const[SOL_SCO], opt const[S resource sock_bt_l2cap[sock_bt] -socket$bt_l2cap(fam const[AF_BLUETOOTH], type flags[bt_l2cap_type], proto const[BTPROTO_L2CAP]) sock_bt_l2cap +syz_init_net_socket$bt_l2cap(fam const[AF_BLUETOOTH], type flags[bt_l2cap_type], proto const[BTPROTO_L2CAP]) sock_bt_l2cap bind$bt_l2cap(fd sock_bt_l2cap, addr ptr[in, sockaddr_l2], addrlen len[addr]) connect$bt_l2cap(fd sock_bt_l2cap, addr ptr[in, sockaddr_l2], addrlen len[addr]) +accept4$bt_l2cap(fd sock_bt_l2cap, peer ptr[out, sockaddr_l2, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_bt_l2cap setsockopt$bt_l2cap_L2CAP_OPTIONS(fd sock_bt_l2cap, level const[SOL_L2CAP], opt const[L2CAP_OPTIONS], arg ptr[in, l2cap_options], arglen len[arg]) getsockopt$bt_l2cap_L2CAP_OPTIONS(fd sock_bt_l2cap, level const[SOL_L2CAP], opt const[L2CAP_OPTIONS], arg ptr[out, l2cap_options], arglen ptr[inout, len[arg, int32]]) setsockopt$bt_l2cap_L2CAP_LM(fd sock_bt_l2cap, level const[SOL_L2CAP], opt const[L2CAP_LM], arg ptr[in, flags[bt_l2cap_lm, int32]], arglen len[arg]) diff --git a/sys/linux/socket_can_386.const b/sys/linux/socket_can_386.const index 2097ae71a..6a08df957 100644 --- a/sys/linux/socket_can_386.const +++ b/sys/linux/socket_can_386.const @@ -7,8 +7,6 @@ CAN_BCM = 2 CAN_FD_FRAME = 2048 CAN_MAX_DLEN = 8 CAN_RAW = 1 -IFNAMSIZ = 16 -# IFREQ_SIZE is not set RX_ANNOUNCE_RESUME = 256 RX_CHECK_DLC = 64 RX_DELETE = 6 diff --git a/sys/linux/socket_can_amd64.const b/sys/linux/socket_can_amd64.const index 76e12717a..b012dbff4 100644 --- a/sys/linux/socket_can_amd64.const +++ b/sys/linux/socket_can_amd64.const @@ -7,8 +7,6 @@ CAN_BCM = 2 CAN_FD_FRAME = 2048 CAN_MAX_DLEN = 8 CAN_RAW = 1 -IFNAMSIZ = 16 -# IFREQ_SIZE is not set RX_ANNOUNCE_RESUME = 256 RX_CHECK_DLC = 64 RX_DELETE = 6 diff --git a/sys/linux/socket_can_arm64.const b/sys/linux/socket_can_arm64.const index 412c466f6..acf87acb6 100644 --- a/sys/linux/socket_can_arm64.const +++ b/sys/linux/socket_can_arm64.const @@ -7,8 +7,6 @@ CAN_BCM = 2 CAN_FD_FRAME = 2048 CAN_MAX_DLEN = 8 CAN_RAW = 1 -IFNAMSIZ = 16 -# IFREQ_SIZE is not set RX_ANNOUNCE_RESUME = 256 RX_CHECK_DLC = 64 RX_DELETE = 6 diff --git a/sys/linux/socket_can_ppc64le.const b/sys/linux/socket_can_ppc64le.const index 53bb740a7..884726145 100644 --- a/sys/linux/socket_can_ppc64le.const +++ b/sys/linux/socket_can_ppc64le.const @@ -7,8 +7,6 @@ CAN_BCM = 2 CAN_FD_FRAME = 2048 CAN_MAX_DLEN = 8 CAN_RAW = 1 -IFNAMSIZ = 16 -# IFREQ_SIZE is not set RX_ANNOUNCE_RESUME = 256 RX_CHECK_DLC = 64 RX_DELETE = 6 diff --git a/sys/linux/socket_inet_386.const b/sys/linux/socket_inet_386.const index da961d3c8..3f8706ddb 100644 --- a/sys/linux/socket_inet_386.const +++ b/sys/linux/socket_inet_386.const @@ -9,7 +9,6 @@ ATF_NETMASK = 32 ATF_PERM = 4 ATF_PUBL = 8 ATF_USETRAILERS = 16 -# IFREQ_SIZE is not set IPPROTO_IP = 0 IP_ADD_MEMBERSHIP = 35 IP_ADD_SOURCE_MEMBERSHIP = 39 diff --git a/sys/linux/socket_inet_amd64.const b/sys/linux/socket_inet_amd64.const index 9e989af71..6729df938 100644 --- a/sys/linux/socket_inet_amd64.const +++ b/sys/linux/socket_inet_amd64.const @@ -9,7 +9,6 @@ ATF_NETMASK = 32 ATF_PERM = 4 ATF_PUBL = 8 ATF_USETRAILERS = 16 -# IFREQ_SIZE is not set IPPROTO_IP = 0 IP_ADD_MEMBERSHIP = 35 IP_ADD_SOURCE_MEMBERSHIP = 39 diff --git a/sys/linux/socket_inet_arm64.const b/sys/linux/socket_inet_arm64.const index 6f5e8db75..9830fe77a 100644 --- a/sys/linux/socket_inet_arm64.const +++ b/sys/linux/socket_inet_arm64.const @@ -9,7 +9,6 @@ ATF_NETMASK = 32 ATF_PERM = 4 ATF_PUBL = 8 ATF_USETRAILERS = 16 -# IFREQ_SIZE is not set IPPROTO_IP = 0 IP_ADD_MEMBERSHIP = 35 IP_ADD_SOURCE_MEMBERSHIP = 39 diff --git a/sys/linux/socket_inet_ppc64le.const b/sys/linux/socket_inet_ppc64le.const index 03cc1dfe5..d991742bb 100644 --- a/sys/linux/socket_inet_ppc64le.const +++ b/sys/linux/socket_inet_ppc64le.const @@ -9,7 +9,6 @@ ATF_NETMASK = 32 ATF_PERM = 4 ATF_PUBL = 8 ATF_USETRAILERS = 16 -# IFREQ_SIZE is not set IPPROTO_IP = 0 IP_ADD_MEMBERSHIP = 35 IP_ADD_SOURCE_MEMBERSHIP = 39 diff --git a/sys/linux/socket_ipx_386.const b/sys/linux/socket_ipx_386.const index 9d6eadb67..ebf6f751d 100644 --- a/sys/linux/socket_ipx_386.const +++ b/sys/linux/socket_ipx_386.const @@ -1,6 +1,5 @@ # AUTOGENERATED FILE AF_IPX = 4 -IFNAMSIZ = 16 IPX_TYPE = 1 SIOCAIPXITFCRT = 35296 SIOCAIPXPRISLT = 35297 diff --git a/sys/linux/socket_ipx_amd64.const b/sys/linux/socket_ipx_amd64.const index b3acc48a0..21a65c321 100644 --- a/sys/linux/socket_ipx_amd64.const +++ b/sys/linux/socket_ipx_amd64.const @@ -1,6 +1,5 @@ # AUTOGENERATED FILE AF_IPX = 4 -IFNAMSIZ = 16 IPX_TYPE = 1 SIOCAIPXITFCRT = 35296 SIOCAIPXPRISLT = 35297 diff --git a/sys/linux/socket_ipx_arm64.const b/sys/linux/socket_ipx_arm64.const index 1a08a2d53..06b05441a 100644 --- a/sys/linux/socket_ipx_arm64.const +++ b/sys/linux/socket_ipx_arm64.const @@ -1,6 +1,5 @@ # AUTOGENERATED FILE AF_IPX = 4 -IFNAMSIZ = 16 IPX_TYPE = 1 SIOCAIPXITFCRT = 35296 SIOCAIPXPRISLT = 35297 diff --git a/sys/linux/socket_ipx_ppc64le.const b/sys/linux/socket_ipx_ppc64le.const index 0e06441cd..07381589a 100644 --- a/sys/linux/socket_ipx_ppc64le.const +++ b/sys/linux/socket_ipx_ppc64le.const @@ -1,6 +1,5 @@ # AUTOGENERATED FILE AF_IPX = 4 -IFNAMSIZ = 16 IPX_TYPE = 1 SIOCAIPXITFCRT = 35296 SIOCAIPXPRISLT = 35297 diff --git a/sys/linux/socket_llc.txt b/sys/linux/socket_llc.txt index e95e2b97d..79f895ff8 100644 --- a/sys/linux/socket_llc.txt +++ b/sys/linux/socket_llc.txt @@ -13,29 +13,20 @@ include <linux/llc.h> resource sock_llc[sock] -socket$llc(domain const[AF_LLC], type flags[llc_socket_type], proto const[0]) sock_llc -socketpair$llc(domain const[AF_LLC], type flags[llc_socket_type], proto const[0], fds ptr[out, llc_pair]) +syz_init_net_socket$llc(domain const[AF_LLC], type flags[llc_socket_type], proto const[0]) sock_llc bind$llc(fd sock_llc, addr ptr[in, sockaddr_llc], addrlen len[addr]) connect$llc(fd sock_llc, addr ptr[in, sockaddr_llc], addrlen len[addr]) -accept$llc(fd sock_llc, peer ptr[out, sockaddr_llc, opt], peerlen ptr[inout, len[peer, int32]]) sock_llc accept4$llc(fd sock_llc, peer ptr[out, sockaddr_llc, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_llc - sendto$llc(fd sock_llc, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_llc, opt], addrlen len[addr]) recvfrom$llc(fd sock_llc, buf buffer[out], len len[buf], f flags[recv_flags], addr ptr[in, sockaddr_llc, opt], addrlen len[addr]) getsockname$llc(fd sock_llc, addr ptr[out, sockaddr_llc], addrlen ptr[inout, len[addr, int32]]) getpeername$llc(fd sock_llc, peer ptr[out, sockaddr_llc], peerlen ptr[inout, len[peer, int32]]) llc_socket_type = SOCK_DGRAM, SOCK_STREAM -llc_protocols = ETH_P_802_3, ETH_P_AX25, ETH_P_ALL, ETH_P_802_2, ETH_P_SNAP, ETH_P_DDCMP, ETH_P_WAN_PPP, ETH_P_PPP_MP, ETH_P_LOCALTALK, ETH_P_CAN, ETH_P_CANFD, ETH_P_PPPTALK, ETH_P_TR_802_2, ETH_P_MOBITEX, ETH_P_CONTROL, ETH_P_IRDA, ETH_P_ECONET, ETH_P_HDLC, ETH_P_ARCNET, ETH_P_DSA, ETH_P_TRAILER, ETH_P_PHONET, ETH_P_IEEE802154, ETH_P_CAIF, ETH_P_XDSA - -llc_pair { - fd0 sock_llc - fd1 sock_llc -} sockaddr_llc { sllc_family const[AF_LLC, int16] - sllc_protocol flags[llc_protocols, int16be] + sllc_arphrd flags[dev_type_arphdr, int16] sllc_test int8 sllc_xid int8 sllc_ua int8 diff --git a/sys/linux/socket_llc_386.const b/sys/linux/socket_llc_386.const index 791fd5e85..deec73150 100644 --- a/sys/linux/socket_llc_386.const +++ b/sys/linux/socket_llc_386.const @@ -1,30 +1,5 @@ # AUTOGENERATED FILE AF_LLC = 26 -ETH_P_802_2 = 4 -ETH_P_802_3 = 1 -ETH_P_ALL = 3 -ETH_P_ARCNET = 26 -ETH_P_AX25 = 2 -ETH_P_CAIF = 247 -ETH_P_CAN = 12 -ETH_P_CANFD = 13 -ETH_P_CONTROL = 22 -ETH_P_DDCMP = 6 -ETH_P_DSA = 27 -ETH_P_ECONET = 24 -ETH_P_HDLC = 25 -ETH_P_IEEE802154 = 246 -ETH_P_IRDA = 23 -ETH_P_LOCALTALK = 9 -ETH_P_MOBITEX = 21 -ETH_P_PHONET = 245 -ETH_P_PPPTALK = 16 -ETH_P_PPP_MP = 8 -ETH_P_SNAP = 5 -ETH_P_TRAILER = 28 -ETH_P_TR_802_2 = 17 -ETH_P_WAN_PPP = 7 -ETH_P_XDSA = 248 LLC_OPT_ACK_TMR_EXP = 3 LLC_OPT_BUSY_TMR_EXP = 6 LLC_OPT_PKTINFO = 9 @@ -38,7 +13,6 @@ LLC_OPT_TX_WIN = 7 SOCK_DGRAM = 2 SOCK_STREAM = 1 SOL_LLC = 268 -# __NR_accept is not set __NR_accept4 = 364 __NR_bind = 361 __NR_connect = 362 @@ -48,5 +22,3 @@ __NR_getsockopt = 365 __NR_recvfrom = 371 __NR_sendto = 369 __NR_setsockopt = 366 -__NR_socket = 359 -__NR_socketpair = 360 diff --git a/sys/linux/socket_llc_amd64.const b/sys/linux/socket_llc_amd64.const index 64ad7ef48..738d9a113 100644 --- a/sys/linux/socket_llc_amd64.const +++ b/sys/linux/socket_llc_amd64.const @@ -1,30 +1,5 @@ # AUTOGENERATED FILE AF_LLC = 26 -ETH_P_802_2 = 4 -ETH_P_802_3 = 1 -ETH_P_ALL = 3 -ETH_P_ARCNET = 26 -ETH_P_AX25 = 2 -ETH_P_CAIF = 247 -ETH_P_CAN = 12 -ETH_P_CANFD = 13 -ETH_P_CONTROL = 22 -ETH_P_DDCMP = 6 -ETH_P_DSA = 27 -ETH_P_ECONET = 24 -ETH_P_HDLC = 25 -ETH_P_IEEE802154 = 246 -ETH_P_IRDA = 23 -ETH_P_LOCALTALK = 9 -ETH_P_MOBITEX = 21 -ETH_P_PHONET = 245 -ETH_P_PPPTALK = 16 -ETH_P_PPP_MP = 8 -ETH_P_SNAP = 5 -ETH_P_TRAILER = 28 -ETH_P_TR_802_2 = 17 -ETH_P_WAN_PPP = 7 -ETH_P_XDSA = 248 LLC_OPT_ACK_TMR_EXP = 3 LLC_OPT_BUSY_TMR_EXP = 6 LLC_OPT_PKTINFO = 9 @@ -38,7 +13,6 @@ LLC_OPT_TX_WIN = 7 SOCK_DGRAM = 2 SOCK_STREAM = 1 SOL_LLC = 268 -__NR_accept = 43 __NR_accept4 = 288 __NR_bind = 49 __NR_connect = 42 @@ -48,5 +22,3 @@ __NR_getsockopt = 55 __NR_recvfrom = 45 __NR_sendto = 44 __NR_setsockopt = 54 -__NR_socket = 41 -__NR_socketpair = 53 diff --git a/sys/linux/socket_llc_arm64.const b/sys/linux/socket_llc_arm64.const index e87d89c02..32fa92f74 100644 --- a/sys/linux/socket_llc_arm64.const +++ b/sys/linux/socket_llc_arm64.const @@ -1,30 +1,5 @@ # AUTOGENERATED FILE AF_LLC = 26 -ETH_P_802_2 = 4 -ETH_P_802_3 = 1 -ETH_P_ALL = 3 -ETH_P_ARCNET = 26 -ETH_P_AX25 = 2 -ETH_P_CAIF = 247 -ETH_P_CAN = 12 -ETH_P_CANFD = 13 -ETH_P_CONTROL = 22 -ETH_P_DDCMP = 6 -ETH_P_DSA = 27 -ETH_P_ECONET = 24 -ETH_P_HDLC = 25 -ETH_P_IEEE802154 = 246 -ETH_P_IRDA = 23 -ETH_P_LOCALTALK = 9 -ETH_P_MOBITEX = 21 -ETH_P_PHONET = 245 -ETH_P_PPPTALK = 16 -ETH_P_PPP_MP = 8 -ETH_P_SNAP = 5 -ETH_P_TRAILER = 28 -ETH_P_TR_802_2 = 17 -ETH_P_WAN_PPP = 7 -ETH_P_XDSA = 248 LLC_OPT_ACK_TMR_EXP = 3 LLC_OPT_BUSY_TMR_EXP = 6 LLC_OPT_PKTINFO = 9 @@ -38,7 +13,6 @@ LLC_OPT_TX_WIN = 7 SOCK_DGRAM = 2 SOCK_STREAM = 1 SOL_LLC = 268 -__NR_accept = 202 __NR_accept4 = 242 __NR_bind = 200 __NR_connect = 203 @@ -48,5 +22,3 @@ __NR_getsockopt = 209 __NR_recvfrom = 207 __NR_sendto = 206 __NR_setsockopt = 208 -__NR_socket = 198 -__NR_socketpair = 199 diff --git a/sys/linux/socket_llc_ppc64le.const b/sys/linux/socket_llc_ppc64le.const index 1c96ab7f1..06c13c9dd 100644 --- a/sys/linux/socket_llc_ppc64le.const +++ b/sys/linux/socket_llc_ppc64le.const @@ -1,30 +1,5 @@ # AUTOGENERATED FILE AF_LLC = 26 -ETH_P_802_2 = 4 -ETH_P_802_3 = 1 -ETH_P_ALL = 3 -ETH_P_ARCNET = 26 -ETH_P_AX25 = 2 -ETH_P_CAIF = 247 -ETH_P_CAN = 12 -ETH_P_CANFD = 13 -ETH_P_CONTROL = 22 -ETH_P_DDCMP = 6 -ETH_P_DSA = 27 -ETH_P_ECONET = 24 -ETH_P_HDLC = 25 -ETH_P_IEEE802154 = 246 -ETH_P_IRDA = 23 -ETH_P_LOCALTALK = 9 -ETH_P_MOBITEX = 21 -ETH_P_PHONET = 245 -ETH_P_PPPTALK = 16 -ETH_P_PPP_MP = 8 -ETH_P_SNAP = 5 -ETH_P_TRAILER = 28 -ETH_P_TR_802_2 = 17 -ETH_P_WAN_PPP = 7 -ETH_P_XDSA = 248 LLC_OPT_ACK_TMR_EXP = 3 LLC_OPT_BUSY_TMR_EXP = 6 LLC_OPT_PKTINFO = 9 @@ -38,7 +13,6 @@ LLC_OPT_TX_WIN = 7 SOCK_DGRAM = 2 SOCK_STREAM = 1 SOL_LLC = 268 -__NR_accept = 330 __NR_accept4 = 344 __NR_bind = 327 __NR_connect = 328 @@ -48,5 +22,3 @@ __NR_getsockopt = 340 __NR_recvfrom = 337 __NR_sendto = 335 __NR_setsockopt = 339 -__NR_socket = 326 -__NR_socketpair = 333 diff --git a/sys/linux/socket_nfc.txt b/sys/linux/socket_nfc.txt index b67827052..4dbbbf549 100644 --- a/sys/linux/socket_nfc.txt +++ b/sys/linux/socket_nfc.txt @@ -9,7 +9,7 @@ include <uapi/linux/nfc.h> resource sock_nfc_llcp[sock] -socket$nfc_llcp(domain const[AF_NFC], type flags[nfc_llcp_type], proto const[NFC_SOCKPROTO_LLCP]) sock_nfc_llcp +syz_init_net_socket$nfc_llcp(domain const[AF_NFC], type flags[nfc_llcp_type], proto const[NFC_SOCKPROTO_LLCP]) sock_nfc_llcp bind$nfc_llcp(fd sock_nfc_llcp, addr ptr[in, sockaddr_nfc_llcp], addrlen len[addr]) connect$nfc_llcp(fd sock_nfc_llcp, addr ptr[in, sockaddr_nfc_llcp], addrlen len[addr]) accept$nfc_llcp(fd sock_nfc_llcp, peer ptr[out, sockaddr_nfc_llcp, opt], peerlen ptr[inout, len[peer, int32]]) sock_nfc_llcp @@ -22,7 +22,7 @@ sendmmsg$nfc_llcp(fd sock_nfc_llcp, mmsg ptr[in, array[nfc_llcp_send_msghdr]], v resource sock_nfc_raw[sock] -socket$nfc_raw(domain const[AF_NFC], type flags[nfc_raw_type], proto const[NFC_SOCKPROTO_RAW]) sock_nfc_raw +syz_init_net_socket$nfc_raw(domain const[AF_NFC], type flags[nfc_raw_type], proto const[NFC_SOCKPROTO_RAW]) sock_nfc_raw connect$nfc_raw(fd sock_nfc_raw, addr ptr[in, sockaddr_nfc], addrlen len[addr]) nfc_llcp_type = SOCK_STREAM, SOCK_DGRAM, SOCK_RAW @@ -31,21 +31,21 @@ nfc_proto = NFC_PROTO_JEWEL, NFC_PROTO_MIFARE, NFC_PROTO_FELICA, NFC_PROTO_ISO14 nfc_llcp_opts = NFC_LLCP_RW, NFC_LLCP_MIUX, NFC_LLCP_REMOTE_MIU, NFC_LLCP_REMOTE_LTO, NFC_LLCP_REMOTE_RW sockaddr_nfc_llcp { - family const[AF_NFC, int16] - devidx int32 - target int32 - proto flags[nfc_proto, int32] - dsap int8 - ssap int8 - serv array[int8, 63] - servlen intptr + family const[AF_NFC, int16] + devidx int32[0:1] + target int32[0:2] + proto flags[nfc_proto, int32] + dsap int8 + ssap int8 + service_name array[int8, NFC_LLCP_MAX_SERVICE_NAME] + servlen intptr[0:NFC_LLCP_MAX_SERVICE_NAME] } sockaddr_nfc { - family const[AF_NFC, int16] - dev int32 - targ int32 - proto flags[nfc_proto, int32] + sa_family const[AF_NFC, int16] + dev_idx int32[0:1] + target_idx int32[0:2] + nfc_protocol flags[nfc_proto, int32] } nfc_llcp_send_msghdr { diff --git a/sys/linux/socket_nfc_386.const b/sys/linux/socket_nfc_386.const index 8f71e252b..2405919b8 100644 --- a/sys/linux/socket_nfc_386.const +++ b/sys/linux/socket_nfc_386.const @@ -1,5 +1,6 @@ # AUTOGENERATED FILE AF_NFC = 39 +NFC_LLCP_MAX_SERVICE_NAME = 63 NFC_LLCP_MIUX = 1 NFC_LLCP_REMOTE_LTO = 3 NFC_LLCP_REMOTE_MIU = 2 @@ -26,4 +27,3 @@ __NR_getsockopt = 365 __NR_sendmmsg = 345 __NR_sendmsg = 370 __NR_setsockopt = 366 -__NR_socket = 359 diff --git a/sys/linux/socket_nfc_amd64.const b/sys/linux/socket_nfc_amd64.const index b876d3162..c6a218072 100644 --- a/sys/linux/socket_nfc_amd64.const +++ b/sys/linux/socket_nfc_amd64.const @@ -1,5 +1,6 @@ # AUTOGENERATED FILE AF_NFC = 39 +NFC_LLCP_MAX_SERVICE_NAME = 63 NFC_LLCP_MIUX = 1 NFC_LLCP_REMOTE_LTO = 3 NFC_LLCP_REMOTE_MIU = 2 @@ -26,4 +27,3 @@ __NR_getsockopt = 55 __NR_sendmmsg = 307 __NR_sendmsg = 46 __NR_setsockopt = 54 -__NR_socket = 41 diff --git a/sys/linux/socket_nfc_arm.const b/sys/linux/socket_nfc_arm.const index 7185bec8a..4ceb43b38 100644 --- a/sys/linux/socket_nfc_arm.const +++ b/sys/linux/socket_nfc_arm.const @@ -1,5 +1,6 @@ # AUTOGENERATED FILE AF_NFC = 39 +NFC_LLCP_MAX_SERVICE_NAME = 63 NFC_LLCP_MIUX = 1 NFC_LLCP_REMOTE_LTO = 3 NFC_LLCP_REMOTE_MIU = 2 @@ -26,4 +27,3 @@ __NR_getsockopt = 295 __NR_sendmmsg = 374 __NR_sendmsg = 296 __NR_setsockopt = 294 -__NR_socket = 281 diff --git a/sys/linux/socket_nfc_arm64.const b/sys/linux/socket_nfc_arm64.const index ddae3ba31..21fdd82f2 100644 --- a/sys/linux/socket_nfc_arm64.const +++ b/sys/linux/socket_nfc_arm64.const @@ -1,5 +1,6 @@ # AUTOGENERATED FILE AF_NFC = 39 +NFC_LLCP_MAX_SERVICE_NAME = 63 NFC_LLCP_MIUX = 1 NFC_LLCP_REMOTE_LTO = 3 NFC_LLCP_REMOTE_MIU = 2 @@ -26,4 +27,3 @@ __NR_getsockopt = 209 __NR_sendmmsg = 269 __NR_sendmsg = 211 __NR_setsockopt = 208 -__NR_socket = 198 diff --git a/sys/linux/socket_nfc_ppc64le.const b/sys/linux/socket_nfc_ppc64le.const index bf52bbad2..e50fc54ee 100644 --- a/sys/linux/socket_nfc_ppc64le.const +++ b/sys/linux/socket_nfc_ppc64le.const @@ -1,5 +1,6 @@ # AUTOGENERATED FILE AF_NFC = 39 +NFC_LLCP_MAX_SERVICE_NAME = 63 NFC_LLCP_MIUX = 1 NFC_LLCP_REMOTE_LTO = 3 NFC_LLCP_REMOTE_MIU = 2 @@ -26,4 +27,3 @@ __NR_getsockopt = 340 __NR_sendmmsg = 349 __NR_sendmsg = 341 __NR_setsockopt = 339 -__NR_socket = 326 diff --git a/syz-fuzzer/fuzzer.go b/syz-fuzzer/fuzzer.go index 873d05852..5c1b9c475 100644 --- a/syz-fuzzer/fuzzer.go +++ b/syz-fuzzer/fuzzer.go @@ -130,6 +130,17 @@ func main() { Fatalf("%v", err) } + config, execOpts, err := ipc.DefaultConfig() + if err != nil { + panic(err) + } + sandbox := "none" + if config.Flags&ipc.FlagSandboxSetuid != 0 { + sandbox = "setuid" + } else if config.Flags&ipc.FlagSandboxNamespace != 0 { + sandbox = "namespace" + } + shutdown := make(chan struct{}) osutil.HandleInterrupts(shutdown) go func() { @@ -140,7 +151,7 @@ func main() { }() if *flagTest { - testImage(*flagManager, target) + testImage(*flagManager, target, sandbox) return } @@ -159,7 +170,7 @@ func main() { if err := RpcCall(*flagManager, "Manager.Connect", a, r); err != nil { panic(err) } - calls := buildCallList(target, r.EnabledCalls) + calls := buildCallList(target, r.EnabledCalls, sandbox) ct := target.BuildChoiceTable(r.Prios, calls) // This requires "fault-inject: support systematic fault injection" kernel commit. @@ -169,10 +180,6 @@ func main() { faultInjectionEnabled = true } - config, execOpts, err := ipc.DefaultConfig() - if err != nil { - panic(err) - } if calls[target.SyscallMap["syz_emit_ethernet"]] || calls[target.SyscallMap["syz_extract_tcp_res"]] { config.Flags |= ipc.FlagEnableTun @@ -370,7 +377,7 @@ func (fuzzer *Fuzzer) pollLoop() { } } -func buildCallList(target *prog.Target, enabledCalls string) map[*prog.Syscall]bool { +func buildCallList(target *prog.Target, enabledCalls, sandbox string) map[*prog.Syscall]bool { calls := make(map[*prog.Syscall]bool) if enabledCalls != "" { for _, id := range strings.Split(enabledCalls, ",") { @@ -386,7 +393,7 @@ func buildCallList(target *prog.Target, enabledCalls string) map[*prog.Syscall]b } } - if supp, err := host.DetectSupportedSyscalls(target); err != nil { + if supp, err := host.DetectSupportedSyscalls(target, sandbox); err != nil { Logf(0, "failed to detect host supported syscalls: %v", err) } else { for c := range calls { diff --git a/syz-fuzzer/testing.go b/syz-fuzzer/testing.go index d9dbf54ca..bf5154902 100644 --- a/syz-fuzzer/testing.go +++ b/syz-fuzzer/testing.go @@ -13,7 +13,7 @@ import ( "github.com/google/syzkaller/prog" ) -func testImage(hostAddr string, target *prog.Target) { +func testImage(hostAddr string, target *prog.Target, sandbox string) { Logf(0, "connecting to host at %v", hostAddr) conn, err := net.Dial("tcp", hostAddr) if err != nil { @@ -32,7 +32,7 @@ func testImage(hostAddr string, target *prog.Target) { if config.Flags&ipc.FlagSandboxNamespace != 0 && !osutil.IsExist("/proc/self/ns/user") { Fatalf("/proc/self/ns/user is not present for namespace sandbox") } - calls, err := host.DetectSupportedSyscalls(target) + calls, err := host.DetectSupportedSyscalls(target, sandbox) if err != nil { Fatalf("failed to detect supported syscalls: %v", err) } diff --git a/tools/syz-stress/stress.go b/tools/syz-stress/stress.go index d003cf2b1..f09b08ed6 100644 --- a/tools/syz-stress/stress.go +++ b/tools/syz-stress/stress.go @@ -139,7 +139,7 @@ func buildCallList(target *prog.Target) map[*prog.Syscall]bool { } return calls } - calls, err := host.DetectSupportedSyscalls(target) + calls, err := host.DetectSupportedSyscalls(target, "none") if err != nil { Logf(0, "failed to detect host supported syscalls: %v", err) calls = make(map[*prog.Syscall]bool) |
