sys/openbsd: prevent using vio0 as a virtual multicast interface

One of the root causes to reported "lost connection to test machine" is
when the egress network interface is being used as a multicast
interface:

  setsockopt$inet6_MRT6_ADD_MIF(r0, 0x29, 0x66, &(0x7f0000000180)={0x2}, 0xc)

Prevent such syscalls from being generated by limiting the range of
allowed interface indices.
This commit is contained in:
Anton Lindqvist 2019-06-08 09:38:33 +02:00 committed by Dmitry Vyukov
parent cf9c3a505d
commit 0159583c3b
3 changed files with 6 additions and 4 deletions

View File

@ -140,7 +140,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
#define SYZ_REVISION "046b8d64999817e17f0813efa9e374d2ee520a81"
#define SYZ_REVISION "6255253f9674826c8aeacb80503607f3c81dade2"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096

View File

@ -189,7 +189,7 @@ var structDescs_amd64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "mif6c_mifi", TypeSize: 2}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mif6c_flags", FldName: "mif6c_flags", TypeSize: 1}}, Vals: []uint64{1}, BitMask: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "vifc_threshold", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "mif6c_pifi", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "mif6c_pifi", TypeSize: 2}}, Kind: 2, RangeBegin: 4, RangeEnd: 65535},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vifc_rate_limit", TypeSize: 4}}},
}}},
@ -2970,4 +2970,4 @@ var consts_amd64 = []ConstValue{
{Name: "__MAP_NOREPLACE", Value: 2048},
}
const revision_amd64 = "046b8d64999817e17f0813efa9e374d2ee520a81"
const revision_amd64 = "6255253f9674826c8aeacb80503607f3c81dade2"

View File

@ -46,7 +46,9 @@ mif6ctl {
mif6c_mifi int16
mif6c_flags flags[mif6c_flags, int8]
vifc_threshold int8
mif6c_pifi int16
# Do not allow low interface indices since one of them is likely to be the
# egress interface vio0 used on GCE instances during fuzzing.
mif6c_pifi int16[4:0xffff]
vifc_rate_limit int32
}