From c1718ecf4edf5d33ea12c6368165cd90a4229610 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 10 May 2019 13:05:04 +0200 Subject: sys/linux: fix alignment of cmsghdr_sock All cmsg's must be intptr aligned within the array. --- sys/linux/gen/arm.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'sys/linux/gen/arm.go') diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 50ce0112c..9e101324b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -1889,9 +1889,9 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sctp_sndrcvinfo"}, FldName: "msg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "cmsghdr_sock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_sock", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, - &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, FldName: "mark"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "timestamping"}, + &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "txtime"}, }}}, {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]", TypeSize: 24}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "unaligned"}, @@ -1899,6 +1899,15 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "unaligned"}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SCM_TXTIME, int64]", TypeSize: 20}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SCM_TXTIME, int64]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_MARK, int32]", TypeSize: 16}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_MARK, int32]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_t[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]", TypeSize: 16}, Fields: []Type{ + &StructType{Key: StructKey{Name: "cmsghdr_unaligned[SOL_SOCKET, SO_TIMESTAMPING_OLD, int32]"}, FldName: "unaligned"}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "cmsghdr_un"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr_un", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_RIGHTS, array[fd]]"}, FldName: "rights"}, &StructType{Key: StructKey{Name: "cmsghdr_t[SOL_SOCKET, SCM_CREDENTIALS, cmsg_un_cred]"}, FldName: "cred"}, @@ -50133,4 +50142,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "b87466cd02a7228c43dda382f1995b3633182b9a" +const revision_arm = "d8c3ddb2b189fc99303b2892a31adb0c191e827b" -- cgit mrf-deployment