aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-02-12 11:39:35 +0100
committerDmitry Vyukov <dvyukov@google.com>2020-02-12 11:50:15 +0100
commit84f4fc8afc9aedba4b3afa4bb76c3df6c6352c07 (patch)
tree2a05cff822e34a93d08f787539ae065ee9af63e4
parenta75b198cd071926905c294db80393240f55a9a0f (diff)
sys/linux: add SO_BINDTODEVICE specialization for wireguard
SO_BINDTODEVICE for wg devices allows to reach very important part of functionality (wg_xmit). Update #806
-rw-r--r--executor/defs.h12
-rw-r--r--executor/syscalls.h6
-rw-r--r--sys/linux/gen/386.go9
-rw-r--r--sys/linux/gen/amd64.go9
-rw-r--r--sys/linux/gen/arm.go9
-rw-r--r--sys/linux/gen/arm64.go9
-rw-r--r--sys/linux/gen/mips64le.go9
-rw-r--r--sys/linux/gen/ppc64le.go9
-rw-r--r--sys/linux/socket_netlink_generic_wireguard.txt2
9 files changed, 62 insertions, 12 deletions
diff --git a/executor/defs.h b/executor/defs.h
index 0ae0562fa..a160c1231 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -70,7 +70,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "a330eb991a89891be213b8410f9ab61181b57279"
+#define SYZ_REVISION "0afe54727ed0b871182576f498f6a9395cdc9241"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -80,7 +80,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "20bd3756392f94e618d15b66b3ffff7ef456aa60"
+#define SYZ_REVISION "e9b59750bfeb5ce1db275aa01d6f5ddb637bfe30"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -90,7 +90,7 @@
#if GOARCH_arm
#define GOARCH "arm"
-#define SYZ_REVISION "26b1c2bf6d99937d3b7ee7b97bb38a9c23c980f7"
+#define SYZ_REVISION "4fed3faf5be570b2709d4eec9a60035d817e0550"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -100,7 +100,7 @@
#if GOARCH_arm64
#define GOARCH "arm64"
-#define SYZ_REVISION "f36c17a8f3b9fddffe4d574e3f0565e58c2a8af6"
+#define SYZ_REVISION "a9feb489f803feaa673070e884613aa32ac3b395"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -110,7 +110,7 @@
#if GOARCH_mips64le
#define GOARCH "mips64le"
-#define SYZ_REVISION "2ea614e13317d13261c2a01d6f1f9c9303d833f9"
+#define SYZ_REVISION "2f1e10150fbd0f90bb261c1a8dec2fda48a91cb6"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -120,7 +120,7 @@
#if GOARCH_ppc64le
#define GOARCH "ppc64le"
-#define SYZ_REVISION "d045943d77a6944c4a4614d8101217cbdae76ac1"
+#define SYZ_REVISION "a00cd9d68a7b1a4c03d0299d4c4c4d9edfaca375"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index a6ba36b16..951ee3b82 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -4628,6 +4628,7 @@ const call_t syscalls[] = {
{"setsockopt$RXRPC_UPGRADEABLE_SERVICE", 366},
{"setsockopt$SO_ATTACH_FILTER", 366},
{"setsockopt$SO_BINDTODEVICE", 366},
+ {"setsockopt$SO_BINDTODEVICE_wg", 366},
{"setsockopt$SO_J1939_ERRQUEUE", 366},
{"setsockopt$SO_J1939_FILTER", 366},
{"setsockopt$SO_J1939_PROMISC", 366},
@@ -7929,6 +7930,7 @@ const call_t syscalls[] = {
{"setsockopt$RXRPC_UPGRADEABLE_SERVICE", 54},
{"setsockopt$SO_ATTACH_FILTER", 54},
{"setsockopt$SO_BINDTODEVICE", 54},
+ {"setsockopt$SO_BINDTODEVICE_wg", 54},
{"setsockopt$SO_J1939_ERRQUEUE", 54},
{"setsockopt$SO_J1939_FILTER", 54},
{"setsockopt$SO_J1939_PROMISC", 54},
@@ -11181,6 +11183,7 @@ const call_t syscalls[] = {
{"setsockopt$RXRPC_UPGRADEABLE_SERVICE", 294},
{"setsockopt$SO_ATTACH_FILTER", 294},
{"setsockopt$SO_BINDTODEVICE", 294},
+ {"setsockopt$SO_BINDTODEVICE_wg", 294},
{"setsockopt$SO_J1939_ERRQUEUE", 294},
{"setsockopt$SO_J1939_FILTER", 294},
{"setsockopt$SO_J1939_PROMISC", 294},
@@ -14413,6 +14416,7 @@ const call_t syscalls[] = {
{"setsockopt$RXRPC_UPGRADEABLE_SERVICE", 208},
{"setsockopt$SO_ATTACH_FILTER", 208},
{"setsockopt$SO_BINDTODEVICE", 208},
+ {"setsockopt$SO_BINDTODEVICE_wg", 208},
{"setsockopt$SO_J1939_ERRQUEUE", 208},
{"setsockopt$SO_J1939_FILTER", 208},
{"setsockopt$SO_J1939_PROMISC", 208},
@@ -17553,6 +17557,7 @@ const call_t syscalls[] = {
{"setsockopt$RXRPC_UPGRADEABLE_SERVICE", 5053},
{"setsockopt$SO_ATTACH_FILTER", 5053},
{"setsockopt$SO_BINDTODEVICE", 5053},
+ {"setsockopt$SO_BINDTODEVICE_wg", 5053},
{"setsockopt$SO_J1939_ERRQUEUE", 5053},
{"setsockopt$SO_J1939_FILTER", 5053},
{"setsockopt$SO_J1939_PROMISC", 5053},
@@ -20806,6 +20811,7 @@ const call_t syscalls[] = {
{"setsockopt$RXRPC_UPGRADEABLE_SERVICE", 339},
{"setsockopt$SO_ATTACH_FILTER", 339},
{"setsockopt$SO_BINDTODEVICE", 339},
+ {"setsockopt$SO_BINDTODEVICE_wg", 339},
{"setsockopt$SO_J1939_ERRQUEUE", 339},
{"setsockopt$SO_J1939_FILTER", 339},
{"setsockopt$SO_J1939_PROMISC", 339},
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index 2e4851b42..631dfead5 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -61714,6 +61714,13 @@ var syscalls_386 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_batadv\x00", "veth1_to_batadv\x00", "batadv_slave_0\x00\x00", "batadv_slave_1\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00", "veth0_vlan\x00\x00\x00\x00\x00\x00", "veth1_vlan\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan0\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan1\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_macvtap\x00\x00\x00", "veth1_macvtap\x00\x00\x00", "macvtap0\x00\x00\x00\x00\x00\x00\x00\x00", "macsec0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 4}}, Path: []string{"optval"}},
}},
+ {NR: 366, Name: "setsockopt$SO_BINDTODEVICE_wg", CallName: "setsockopt", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 4}}, Val: 25},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, SubKind: "wireguard_devname", Values: []string{"wg0\x00", "wg1\x00", "wg2\x00"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 4}}, Path: []string{"optval"}},
+ }},
{NR: 366, Name: "setsockopt$SO_J1939_ERRQUEUE", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_can_j1939", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 107},
@@ -75760,4 +75767,4 @@ var consts_386 = []ConstValue{
{"ethtool_per_queue_op_size", 128},
}
-const revision_386 = "a330eb991a89891be213b8410f9ab61181b57279"
+const revision_386 = "0afe54727ed0b871182576f498f6a9395cdc9241"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index e488954d1..bd105dc09 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -62664,6 +62664,13 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_batadv\x00", "veth1_to_batadv\x00", "batadv_slave_0\x00\x00", "batadv_slave_1\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00", "veth0_vlan\x00\x00\x00\x00\x00\x00", "veth1_vlan\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan0\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan1\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_macvtap\x00\x00\x00", "veth1_macvtap\x00\x00\x00", "macvtap0\x00\x00\x00\x00\x00\x00\x00\x00", "macsec0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
}},
+ {NR: 54, Name: "setsockopt$SO_BINDTODEVICE_wg", CallName: "setsockopt", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 25},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, SubKind: "wireguard_devname", Values: []string{"wg0\x00", "wg1\x00", "wg2\x00"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
+ }},
{NR: 54, Name: "setsockopt$SO_J1939_ERRQUEUE", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_can_j1939", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 107},
@@ -76720,4 +76727,4 @@ var consts_amd64 = []ConstValue{
{"ethtool_per_queue_op_size", 128},
}
-const revision_amd64 = "20bd3756392f94e618d15b66b3ffff7ef456aa60"
+const revision_amd64 = "e9b59750bfeb5ce1db275aa01d6f5ddb637bfe30"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index fde2fc825..772aecfac 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -61453,6 +61453,13 @@ var syscalls_arm = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_batadv\x00", "veth1_to_batadv\x00", "batadv_slave_0\x00\x00", "batadv_slave_1\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00", "veth0_vlan\x00\x00\x00\x00\x00\x00", "veth1_vlan\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan0\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan1\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_macvtap\x00\x00\x00", "veth1_macvtap\x00\x00\x00", "macvtap0\x00\x00\x00\x00\x00\x00\x00\x00", "macsec0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 4}}, Path: []string{"optval"}},
}},
+ {NR: 294, Name: "setsockopt$SO_BINDTODEVICE_wg", CallName: "setsockopt", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 4}}, Val: 25},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, SubKind: "wireguard_devname", Values: []string{"wg0\x00", "wg1\x00", "wg2\x00"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 4}}, Path: []string{"optval"}},
+ }},
{NR: 294, Name: "setsockopt$SO_J1939_ERRQUEUE", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_can_j1939", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 107},
@@ -75412,4 +75419,4 @@ var consts_arm = []ConstValue{
{"ethtool_per_queue_op_size", 128},
}
-const revision_arm = "26b1c2bf6d99937d3b7ee7b97bb38a9c23c980f7"
+const revision_arm = "4fed3faf5be570b2709d4eec9a60035d817e0550"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index ddc474545..09de35d4c 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -62157,6 +62157,13 @@ var syscalls_arm64 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_batadv\x00", "veth1_to_batadv\x00", "batadv_slave_0\x00\x00", "batadv_slave_1\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00", "veth0_vlan\x00\x00\x00\x00\x00\x00", "veth1_vlan\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan0\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan1\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_macvtap\x00\x00\x00", "veth1_macvtap\x00\x00\x00", "macvtap0\x00\x00\x00\x00\x00\x00\x00\x00", "macsec0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
}},
+ {NR: 208, Name: "setsockopt$SO_BINDTODEVICE_wg", CallName: "setsockopt", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 25},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, SubKind: "wireguard_devname", Values: []string{"wg0\x00", "wg1\x00", "wg2\x00"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
+ }},
{NR: 208, Name: "setsockopt$SO_J1939_ERRQUEUE", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_can_j1939", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 107},
@@ -76065,4 +76072,4 @@ var consts_arm64 = []ConstValue{
{"ethtool_per_queue_op_size", 128},
}
-const revision_arm64 = "f36c17a8f3b9fddffe4d574e3f0565e58c2a8af6"
+const revision_arm64 = "a9feb489f803feaa673070e884613aa32ac3b395"
diff --git a/sys/linux/gen/mips64le.go b/sys/linux/gen/mips64le.go
index 0c2974391..c9f84daea 100644
--- a/sys/linux/gen/mips64le.go
+++ b/sys/linux/gen/mips64le.go
@@ -60809,6 +60809,13 @@ var syscalls_mips64le = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_batadv\x00", "veth1_to_batadv\x00", "batadv_slave_0\x00\x00", "batadv_slave_1\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00", "veth0_vlan\x00\x00\x00\x00\x00\x00", "veth1_vlan\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan0\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan1\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_macvtap\x00\x00\x00", "veth1_macvtap\x00\x00\x00", "macvtap0\x00\x00\x00\x00\x00\x00\x00\x00", "macsec0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
}},
+ {NR: 5053, Name: "setsockopt$SO_BINDTODEVICE_wg", CallName: "setsockopt", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 25},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, SubKind: "wireguard_devname", Values: []string{"wg0\x00", "wg1\x00", "wg2\x00"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
+ }},
{NR: 5053, Name: "setsockopt$SO_J1939_ERRQUEUE", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_can_j1939", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 107},
@@ -73726,4 +73733,4 @@ var consts_mips64le = []ConstValue{
{"ethtool_per_queue_op_size", 128},
}
-const revision_mips64le = "2ea614e13317d13261c2a01d6f1f9c9303d833f9"
+const revision_mips64le = "2f1e10150fbd0f90bb261c1a8dec2fda48a91cb6"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index 250be686c..5b3739b35 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -62139,6 +62139,13 @@ var syscalls_ppc64le = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, SubKind: "devnames", Values: []string{"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "tunl0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "gretap0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip_vti0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6_vti0\x00\x00\x00\x00\x00\x00\x00\x00", "sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6tnl0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gre0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6gretap0\x00\x00\x00\x00\x00\x00", "bond0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "dummy0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "nr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "rose0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "erspan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "bridge0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vcan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "team0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz_tun\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_bridge\x00", "veth1_to_bridge\x00", "veth0_to_bond\x00\x00\x00", "veth1_to_bond\x00\x00\x00", "veth0_to_team\x00\x00\x00", "veth1_to_team\x00\x00\x00", "bridge_slave_0\x00\x00", "bridge_slave_1\x00\x00", "bond_slave_0\x00\x00\x00\x00", "bond_slave_1\x00\x00\x00\x00", "team_slave_0\x00\x00\x00\x00", "team_slave_1\x00\x00\x00\x00", "syzkaller0\x00\x00\x00\x00\x00\x00", "syzkaller1\x00\x00\x00\x00\x00\x00", "veth0_to_hsr\x00\x00\x00\x00", "veth1_to_hsr\x00\x00\x00\x00", "hsr0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ip6erspan0\x00\x00\x00\x00\x00\x00", "vxcan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "caif0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "batadv0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_to_batadv\x00", "veth1_to_batadv\x00", "batadv_slave_0\x00\x00", "batadv_slave_1\x00\x00", "netdevsim0\x00\x00\x00\x00\x00\x00", "netpci0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "xfrm0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_virt_wifi\x00", "veth1_virt_wifi\x00", "virt_wifi0\x00\x00\x00\x00\x00\x00", "veth0_vlan\x00\x00\x00\x00\x00\x00", "veth1_vlan\x00\x00\x00\x00\x00\x00", "vlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "vlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan0\x00\x00\x00\x00\x00\x00\x00\x00", "macvlan1\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "ipvlan1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "veth0_macvtap\x00\x00\x00", "veth1_macvtap\x00\x00\x00", "macvtap0\x00\x00\x00\x00\x00\x00\x00\x00", "macsec0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "geneve1\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "wg2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
}},
+ {NR: 339, Name: "setsockopt$SO_BINDTODEVICE_wg", CallName: "setsockopt", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 25},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, SubKind: "wireguard_devname", Values: []string{"wg0\x00", "wg1\x00", "wg2\x00"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Path: []string{"optval"}},
+ }},
{NR: 339, Name: "setsockopt$SO_J1939_ERRQUEUE", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_can_j1939", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 107},
@@ -76062,4 +76069,4 @@ var consts_ppc64le = []ConstValue{
{"ethtool_per_queue_op_size", 128},
}
-const revision_ppc64le = "d045943d77a6944c4a4614d8101217cbdae76ac1"
+const revision_ppc64le = "a00cd9d68a7b1a4c03d0299d4c4c4d9edfaca375"
diff --git a/sys/linux/socket_netlink_generic_wireguard.txt b/sys/linux/socket_netlink_generic_wireguard.txt
index 54b8720c8..fe06c1755 100644
--- a/sys/linux/socket_netlink_generic_wireguard.txt
+++ b/sys/linux/socket_netlink_generic_wireguard.txt
@@ -18,6 +18,8 @@ syz_genetlink_get_family_id$wireguard(name ptr[in, string["wireguard"]]) genl_wi
sendmsg$WG_CMD_GET_DEVICE(fd sock_nl_generic, msg ptr[in, msghdr_wireguard[WG_CMD_GET_DEVICE]], f flags[send_flags])
sendmsg$WG_CMD_SET_DEVICE(fd sock_nl_generic, msg ptr[in, msghdr_wireguard[WG_CMD_SET_DEVICE]], f flags[send_flags])
+setsockopt$SO_BINDTODEVICE_wg(fd sock, level const[SOL_SOCKET], optname const[SO_BINDTODEVICE], optval ptr[in, string[wireguard_devname]], optlen len[optval])
+
ioctl$ifreq_SIOCGIFINDEX_wireguard(fd sock, cmd const[SIOCGIFINDEX], arg ptr[inout, ifreq_dev_t[wireguard_devname, wireguard_ifindex[opt]]])
device_policy [