From 15d00718f7a556006e23a8951c9f22598ff91724 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 17 Nov 2018 15:44:57 -0800 Subject: sys/linux: refine description for PR_SET_MM --- sys/linux/gen/386.go | 59 ++++++++++++++++++++++++++++++++++++++----- sys/linux/gen/amd64.go | 58 +++++++++++++++++++++++++++++++++++++----- sys/linux/gen/arm.go | 59 ++++++++++++++++++++++++++++++++++++++----- sys/linux/gen/arm64.go | 58 +++++++++++++++++++++++++++++++++++++----- sys/linux/gen/ppc64le.go | 58 +++++++++++++++++++++++++++++++++++++----- sys/linux/prctl.txt | 27 +++++++++++++++++--- sys/linux/prctl_386.const | 8 ++++++ sys/linux/prctl_amd64.const | 8 ++++++ sys/linux/prctl_arm.const | 8 ++++++ sys/linux/prctl_arm64.const | 8 ++++++ sys/linux/prctl_ppc64le.const | 8 ++++++ 11 files changed, 326 insertions(+), 33 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index e817d8c39..56ee1368a 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -15543,6 +15543,23 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, }}}, + {Key: StructKey{Name: "prctl_mm_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "prctl_mm_map", TypeSize: 104}, Fields: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_stack", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_end", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_end", TypeSize: 8}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "auxv", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "auxv_size", TypeSize: 4}}, BitSize: 8, Buf: "auxv"}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "exe_fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }}}, {Key: StructKey{Name: "q_cbq_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "q_cbq_options", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_LSSOPT, int16], tc_cbq_lssopt]"}, FldName: "TCA_CBQ_LSSOPT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_WRROPT, int16], tc_cbq_wrropt]"}, FldName: "TCA_CBQ_WRROPT"}, @@ -31009,6 +31026,33 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "arg", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, }}, + {NR: 172, Name: "prctl$PR_SET_MM", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "opt", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "arg", TypeSize: 4}}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_AUXV", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 12}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_EXE_FILE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 13}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "arg", TypeSize: 4}}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_MAP", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 14}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "prctl_mm_map"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_MAP_SIZE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 15}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, + }}, {NR: 172, Name: "prctl$PR_SET_NAME", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, @@ -31068,11 +31112,6 @@ var syscalls_386 = []*Syscall{ {NR: 172, Name: "prctl$PR_TASK_PERF_EVENTS_ENABLE", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 32}, }}, - {NR: 172, Name: "prctl$setmm", CallName: "prctl", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option1", TypeSize: 4}}, Val: 35}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "option2", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "val", TypeSize: 4}}, - }}, {NR: 180, Name: "pread64", CallName: "pread64", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -38963,9 +39002,17 @@ var consts_386 = []ConstValue{ {Name: "PR_SET_FP_MODE", Value: 45}, {Name: "PR_SET_KEEPCAPS", Value: 8}, {Name: "PR_SET_MM", Value: 35}, + {Name: "PR_SET_MM_ARG_END", Value: 9}, + {Name: "PR_SET_MM_ARG_START", Value: 8}, + {Name: "PR_SET_MM_AUXV", Value: 12}, {Name: "PR_SET_MM_BRK", Value: 7}, {Name: "PR_SET_MM_END_CODE", Value: 2}, {Name: "PR_SET_MM_END_DATA", Value: 4}, + {Name: "PR_SET_MM_ENV_END", Value: 11}, + {Name: "PR_SET_MM_ENV_START", Value: 10}, + {Name: "PR_SET_MM_EXE_FILE", Value: 13}, + {Name: "PR_SET_MM_MAP", Value: 14}, + {Name: "PR_SET_MM_MAP_SIZE", Value: 15}, {Name: "PR_SET_MM_START_BRK", Value: 6}, {Name: "PR_SET_MM_START_CODE", Value: 1}, {Name: "PR_SET_MM_START_DATA", Value: 3}, @@ -42303,4 +42350,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "5be615680ac09c332170d9f080a0be530e160a4f" +const revision_386 = "81e1aad90c0a21a605e862eb212079b9b333a8f3" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 7b44df637..f2fd74588 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -15777,6 +15777,22 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, }}}, + {Key: StructKey{Name: "prctl_mm_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "prctl_mm_map", TypeSize: 104}, Fields: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_stack", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_end", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_end", TypeSize: 8}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "auxv", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "auxv_size", TypeSize: 4}}, BitSize: 8, Buf: "auxv"}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "exe_fd", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "q_cbq_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "q_cbq_options", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_LSSOPT, int16], tc_cbq_lssopt]"}, FldName: "TCA_CBQ_LSSOPT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_WRROPT, int16], tc_cbq_wrropt]"}, FldName: "TCA_CBQ_WRROPT"}, @@ -31538,6 +31554,33 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "arg", TypeSize: 8}}, Kind: 2, RangeEnd: 1}, }}, + {NR: 157, Name: "prctl$PR_SET_MM", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "opt", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "arg", TypeSize: 8}}, + }}, + {NR: 157, Name: "prctl$PR_SET_MM_AUXV", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 12}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 157, Name: "prctl$PR_SET_MM_EXE_FILE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 13}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "arg", TypeSize: 4}}, + }}, + {NR: 157, Name: "prctl$PR_SET_MM_MAP", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 14}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "prctl_mm_map"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 157, Name: "prctl$PR_SET_MM_MAP_SIZE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 15}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, + }}, {NR: 157, Name: "prctl$PR_SET_NAME", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, @@ -31597,11 +31640,6 @@ var syscalls_amd64 = []*Syscall{ {NR: 157, Name: "prctl$PR_TASK_PERF_EVENTS_ENABLE", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 32}, }}, - {NR: 157, Name: "prctl$setmm", CallName: "prctl", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option1", TypeSize: 8}}, Val: 35}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "option2", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "val", TypeSize: 8}}, - }}, {NR: 17, Name: "pread64", CallName: "pread64", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -39641,9 +39679,17 @@ var consts_amd64 = []ConstValue{ {Name: "PR_SET_FP_MODE", Value: 45}, {Name: "PR_SET_KEEPCAPS", Value: 8}, {Name: "PR_SET_MM", Value: 35}, + {Name: "PR_SET_MM_ARG_END", Value: 9}, + {Name: "PR_SET_MM_ARG_START", Value: 8}, + {Name: "PR_SET_MM_AUXV", Value: 12}, {Name: "PR_SET_MM_BRK", Value: 7}, {Name: "PR_SET_MM_END_CODE", Value: 2}, {Name: "PR_SET_MM_END_DATA", Value: 4}, + {Name: "PR_SET_MM_ENV_END", Value: 11}, + {Name: "PR_SET_MM_ENV_START", Value: 10}, + {Name: "PR_SET_MM_EXE_FILE", Value: 13}, + {Name: "PR_SET_MM_MAP", Value: 14}, + {Name: "PR_SET_MM_MAP_SIZE", Value: 15}, {Name: "PR_SET_MM_START_BRK", Value: 6}, {Name: "PR_SET_MM_START_CODE", Value: 1}, {Name: "PR_SET_MM_START_DATA", Value: 3}, @@ -43006,4 +43052,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "b7f4b3d01115f65eaf273efa57f7ae10400936dc" +const revision_amd64 = "03c42a49553bc0ccf794b9c2d7a9ddef28f0bc36" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index e5d1a8398..ea4e8ab8b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -15398,6 +15398,23 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, }}}, + {Key: StructKey{Name: "prctl_mm_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "prctl_mm_map", TypeSize: 104}, Fields: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_stack", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_end", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_end", TypeSize: 8}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "auxv", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "auxv_size", TypeSize: 4}}, BitSize: 8, Buf: "auxv"}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "exe_fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }}}, {Key: StructKey{Name: "q_cbq_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "q_cbq_options", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_LSSOPT, int16], tc_cbq_lssopt]"}, FldName: "TCA_CBQ_LSSOPT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_WRROPT, int16], tc_cbq_wrropt]"}, FldName: "TCA_CBQ_WRROPT"}, @@ -30778,6 +30795,33 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "arg", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, }}, + {NR: 172, Name: "prctl$PR_SET_MM", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "opt", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "arg", TypeSize: 4}}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_AUXV", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 12}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_EXE_FILE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 13}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "arg", TypeSize: 4}}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_MAP", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 14}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "prctl_mm_map"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 172, Name: "prctl$PR_SET_MM_MAP_SIZE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 15}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, + }}, {NR: 172, Name: "prctl$PR_SET_NAME", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, @@ -30837,11 +30881,6 @@ var syscalls_arm = []*Syscall{ {NR: 172, Name: "prctl$PR_TASK_PERF_EVENTS_ENABLE", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 4}}, Val: 32}, }}, - {NR: 172, Name: "prctl$setmm", CallName: "prctl", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option1", TypeSize: 4}}, Val: 35}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "option2", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "val", TypeSize: 4}}, - }}, {NR: 180, Name: "pread64", CallName: "pread64", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -38805,9 +38844,17 @@ var consts_arm = []ConstValue{ {Name: "PR_SET_FP_MODE", Value: 45}, {Name: "PR_SET_KEEPCAPS", Value: 8}, {Name: "PR_SET_MM", Value: 35}, + {Name: "PR_SET_MM_ARG_END", Value: 9}, + {Name: "PR_SET_MM_ARG_START", Value: 8}, + {Name: "PR_SET_MM_AUXV", Value: 12}, {Name: "PR_SET_MM_BRK", Value: 7}, {Name: "PR_SET_MM_END_CODE", Value: 2}, {Name: "PR_SET_MM_END_DATA", Value: 4}, + {Name: "PR_SET_MM_ENV_END", Value: 11}, + {Name: "PR_SET_MM_ENV_START", Value: 10}, + {Name: "PR_SET_MM_EXE_FILE", Value: 13}, + {Name: "PR_SET_MM_MAP", Value: 14}, + {Name: "PR_SET_MM_MAP_SIZE", Value: 15}, {Name: "PR_SET_MM_START_BRK", Value: 6}, {Name: "PR_SET_MM_START_CODE", Value: 1}, {Name: "PR_SET_MM_START_DATA", Value: 3}, @@ -42142,4 +42189,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "afc6275b4fb5b23a31eb035d17f61c6e71c4f752" +const revision_arm = "c14b73154c70314bff7fda0ce0a1b1af89b2ee94" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index a548103f7..aa173a9bb 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -15594,6 +15594,22 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, }}}, + {Key: StructKey{Name: "prctl_mm_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "prctl_mm_map", TypeSize: 104}, Fields: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_stack", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_end", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_end", TypeSize: 8}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "auxv", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "auxv_size", TypeSize: 4}}, BitSize: 8, Buf: "auxv"}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "exe_fd", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "q_cbq_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "q_cbq_options", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_LSSOPT, int16], tc_cbq_lssopt]"}, FldName: "TCA_CBQ_LSSOPT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_WRROPT, int16], tc_cbq_wrropt]"}, FldName: "TCA_CBQ_WRROPT"}, @@ -31061,6 +31077,33 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "arg", TypeSize: 8}}, Kind: 2, RangeEnd: 1}, }}, + {NR: 167, Name: "prctl$PR_SET_MM", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "opt", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "arg", TypeSize: 8}}, + }}, + {NR: 167, Name: "prctl$PR_SET_MM_AUXV", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 12}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 167, Name: "prctl$PR_SET_MM_EXE_FILE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 13}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "arg", TypeSize: 4}}, + }}, + {NR: 167, Name: "prctl$PR_SET_MM_MAP", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 14}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "prctl_mm_map"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 167, Name: "prctl$PR_SET_MM_MAP_SIZE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 15}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, + }}, {NR: 167, Name: "prctl$PR_SET_NAME", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, @@ -31120,11 +31163,6 @@ var syscalls_arm64 = []*Syscall{ {NR: 167, Name: "prctl$PR_TASK_PERF_EVENTS_ENABLE", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 32}, }}, - {NR: 167, Name: "prctl$setmm", CallName: "prctl", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option1", TypeSize: 8}}, Val: 35}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "option2", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "val", TypeSize: 8}}, - }}, {NR: 67, Name: "pread64", CallName: "pread64", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -39046,9 +39084,17 @@ var consts_arm64 = []ConstValue{ {Name: "PR_SET_FP_MODE", Value: 45}, {Name: "PR_SET_KEEPCAPS", Value: 8}, {Name: "PR_SET_MM", Value: 35}, + {Name: "PR_SET_MM_ARG_END", Value: 9}, + {Name: "PR_SET_MM_ARG_START", Value: 8}, + {Name: "PR_SET_MM_AUXV", Value: 12}, {Name: "PR_SET_MM_BRK", Value: 7}, {Name: "PR_SET_MM_END_CODE", Value: 2}, {Name: "PR_SET_MM_END_DATA", Value: 4}, + {Name: "PR_SET_MM_ENV_END", Value: 11}, + {Name: "PR_SET_MM_ENV_START", Value: 10}, + {Name: "PR_SET_MM_EXE_FILE", Value: 13}, + {Name: "PR_SET_MM_MAP", Value: 14}, + {Name: "PR_SET_MM_MAP_SIZE", Value: 15}, {Name: "PR_SET_MM_START_BRK", Value: 6}, {Name: "PR_SET_MM_START_CODE", Value: 1}, {Name: "PR_SET_MM_START_DATA", Value: 3}, @@ -42364,4 +42410,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "87b3d2dfde218108edd15e08bd8912168e4461ec" +const revision_arm64 = "702b73cdb13ed1ea89289858aca56d949beae1c6" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 4d3e529b6..9ce9ec8c8 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -15504,6 +15504,22 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, }}}, + {Key: StructKey{Name: "prctl_mm_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "prctl_mm_map", TypeSize: 104}, Fields: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_code", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "end_data", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "brk", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "start_stack", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "arg_end", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_start", TypeSize: 8}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma64", FldName: "env_end", TypeSize: 8}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "auxv", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "auxv_size", TypeSize: 4}}, BitSize: 8, Buf: "auxv"}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "exe_fd", TypeSize: 4}}, + }}}, {Key: StructKey{Name: "q_cbq_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "q_cbq_options", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_LSSOPT, int16], tc_cbq_lssopt]"}, FldName: "TCA_CBQ_LSSOPT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CBQ_WRROPT, int16], tc_cbq_wrropt]"}, FldName: "TCA_CBQ_WRROPT"}, @@ -29552,6 +29568,33 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "arg", TypeSize: 8}}, Kind: 2, RangeEnd: 1}, }}, + {NR: 171, Name: "prctl$PR_SET_MM", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "opt", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}, + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "arg", TypeSize: 8}}, + }}, + {NR: 171, Name: "prctl$PR_SET_MM_AUXV", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 12}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 171, Name: "prctl$PR_SET_MM_EXE_FILE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 13}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "arg", TypeSize: 4}}, + }}, + {NR: 171, Name: "prctl$PR_SET_MM_MAP", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 14}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "prctl_mm_map"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "arg"}, + }}, + {NR: 171, Name: "prctl$PR_SET_MM_MAP_SIZE", CallName: "prctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 35}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 15}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, + }}, {NR: 171, Name: "prctl$PR_SET_NAME", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, @@ -29611,11 +29654,6 @@ var syscalls_ppc64le = []*Syscall{ {NR: 171, Name: "prctl$PR_TASK_PERF_EVENTS_ENABLE", CallName: "prctl", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option", TypeSize: 8}}, Val: 32}, }}, - {NR: 171, Name: "prctl$setmm", CallName: "prctl", Args: []Type{ - &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "option1", TypeSize: 8}}, Val: 35}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "prctl_mm_option", FldName: "option2", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7}}, - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "val", TypeSize: 8}}, - }}, {NR: 179, Name: "pread64", CallName: "pread64", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -37341,9 +37379,17 @@ var consts_ppc64le = []ConstValue{ {Name: "PR_SET_FP_MODE", Value: 45}, {Name: "PR_SET_KEEPCAPS", Value: 8}, {Name: "PR_SET_MM", Value: 35}, + {Name: "PR_SET_MM_ARG_END", Value: 9}, + {Name: "PR_SET_MM_ARG_START", Value: 8}, + {Name: "PR_SET_MM_AUXV", Value: 12}, {Name: "PR_SET_MM_BRK", Value: 7}, {Name: "PR_SET_MM_END_CODE", Value: 2}, {Name: "PR_SET_MM_END_DATA", Value: 4}, + {Name: "PR_SET_MM_ENV_END", Value: 11}, + {Name: "PR_SET_MM_ENV_START", Value: 10}, + {Name: "PR_SET_MM_EXE_FILE", Value: 13}, + {Name: "PR_SET_MM_MAP", Value: 14}, + {Name: "PR_SET_MM_MAP_SIZE", Value: 15}, {Name: "PR_SET_MM_START_BRK", Value: 6}, {Name: "PR_SET_MM_START_CODE", Value: 1}, {Name: "PR_SET_MM_START_DATA", Value: 3}, @@ -39722,4 +39768,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "0944c19ee6b865deae581fd3e31e059d1989696d" +const revision_ppc64le = "ecb0de3bb5fee4cfba1adbd79e9bf092f43b15a7" diff --git a/sys/linux/prctl.txt b/sys/linux/prctl.txt index 20147e427..449464d12 100644 --- a/sys/linux/prctl.txt +++ b/sys/linux/prctl.txt @@ -76,9 +76,30 @@ prctl$PR_MCE_KILL_GET(option const[PR_MCE_KILL_GET]) prctl_mce_kill_mode = PR_MCE_KILL_CLEAR, PR_MCE_KILL_SET prctl_mce_kill_submode = PR_MCE_KILL_LATE, PR_MCE_KILL_EARLY, PR_MCE_KILL_DEFAULT -prctl$setmm(option1 const[PR_SET_MM], option2 flags[prctl_mm_option], val vma) - -prctl_mm_option = PR_SET_MM_START_CODE, PR_SET_MM_END_CODE, PR_SET_MM_START_DATA, PR_SET_MM_END_DATA, PR_SET_MM_START_STACK, PR_SET_MM_START_BRK, PR_SET_MM_BRK +prctl$PR_SET_MM(option const[PR_SET_MM], opt flags[prctl_mm_option], arg vma) +prctl$PR_SET_MM_EXE_FILE(option const[PR_SET_MM], opt const[PR_SET_MM_EXE_FILE], arg fd) +prctl$PR_SET_MM_AUXV(option const[PR_SET_MM], opt const[PR_SET_MM_AUXV], arg ptr[in, array[int8]], len bytesize[arg]) +prctl$PR_SET_MM_MAP(option const[PR_SET_MM], opt const[PR_SET_MM_MAP], arg ptr[in, prctl_mm_map], len bytesize[arg]) +prctl$PR_SET_MM_MAP_SIZE(option const[PR_SET_MM], opt const[PR_SET_MM_MAP_SIZE], arg ptr[out, int32]) + +prctl_mm_option = PR_SET_MM_START_CODE, PR_SET_MM_END_CODE, PR_SET_MM_START_DATA, PR_SET_MM_END_DATA, PR_SET_MM_START_STACK, PR_SET_MM_START_BRK, PR_SET_MM_BRK, PR_SET_MM_ARG_START, PR_SET_MM_ARG_END, PR_SET_MM_ENV_START, PR_SET_MM_ENV_END + +prctl_mm_map { + start_code vma64 + end_code vma64 + start_data vma64 + end_data vma64 + start_brk vma64 + brk vma64 + start_stack vma64 + arg_start vma64 + arg_end vma64 + env_start vma64 + env_end vma64 + auxv ptr[in, array[int8]] + auxv_size bytesize[auxv, int32] + exe_fd fd +} prctl$PR_SET_PTRACER(option const[PR_SET_PTRACER], pid pid) diff --git a/sys/linux/prctl_386.const b/sys/linux/prctl_386.const index ea3d2e1e9..0b9c3ab97 100644 --- a/sys/linux/prctl_386.const +++ b/sys/linux/prctl_386.const @@ -69,9 +69,17 @@ PR_SET_FPEXC = 12 PR_SET_FP_MODE = 45 PR_SET_KEEPCAPS = 8 PR_SET_MM = 35 +PR_SET_MM_ARG_END = 9 +PR_SET_MM_ARG_START = 8 +PR_SET_MM_AUXV = 12 PR_SET_MM_BRK = 7 PR_SET_MM_END_CODE = 2 PR_SET_MM_END_DATA = 4 +PR_SET_MM_ENV_END = 11 +PR_SET_MM_ENV_START = 10 +PR_SET_MM_EXE_FILE = 13 +PR_SET_MM_MAP = 14 +PR_SET_MM_MAP_SIZE = 15 PR_SET_MM_START_BRK = 6 PR_SET_MM_START_CODE = 1 PR_SET_MM_START_DATA = 3 diff --git a/sys/linux/prctl_amd64.const b/sys/linux/prctl_amd64.const index e0c1f3ad2..d2c014e56 100644 --- a/sys/linux/prctl_amd64.const +++ b/sys/linux/prctl_amd64.const @@ -69,9 +69,17 @@ PR_SET_FPEXC = 12 PR_SET_FP_MODE = 45 PR_SET_KEEPCAPS = 8 PR_SET_MM = 35 +PR_SET_MM_ARG_END = 9 +PR_SET_MM_ARG_START = 8 +PR_SET_MM_AUXV = 12 PR_SET_MM_BRK = 7 PR_SET_MM_END_CODE = 2 PR_SET_MM_END_DATA = 4 +PR_SET_MM_ENV_END = 11 +PR_SET_MM_ENV_START = 10 +PR_SET_MM_EXE_FILE = 13 +PR_SET_MM_MAP = 14 +PR_SET_MM_MAP_SIZE = 15 PR_SET_MM_START_BRK = 6 PR_SET_MM_START_CODE = 1 PR_SET_MM_START_DATA = 3 diff --git a/sys/linux/prctl_arm.const b/sys/linux/prctl_arm.const index 933fb9abe..11f16c599 100644 --- a/sys/linux/prctl_arm.const +++ b/sys/linux/prctl_arm.const @@ -69,9 +69,17 @@ PR_SET_FPEXC = 12 PR_SET_FP_MODE = 45 PR_SET_KEEPCAPS = 8 PR_SET_MM = 35 +PR_SET_MM_ARG_END = 9 +PR_SET_MM_ARG_START = 8 +PR_SET_MM_AUXV = 12 PR_SET_MM_BRK = 7 PR_SET_MM_END_CODE = 2 PR_SET_MM_END_DATA = 4 +PR_SET_MM_ENV_END = 11 +PR_SET_MM_ENV_START = 10 +PR_SET_MM_EXE_FILE = 13 +PR_SET_MM_MAP = 14 +PR_SET_MM_MAP_SIZE = 15 PR_SET_MM_START_BRK = 6 PR_SET_MM_START_CODE = 1 PR_SET_MM_START_DATA = 3 diff --git a/sys/linux/prctl_arm64.const b/sys/linux/prctl_arm64.const index ade4c7fcf..4444c6eb7 100644 --- a/sys/linux/prctl_arm64.const +++ b/sys/linux/prctl_arm64.const @@ -69,9 +69,17 @@ PR_SET_FPEXC = 12 PR_SET_FP_MODE = 45 PR_SET_KEEPCAPS = 8 PR_SET_MM = 35 +PR_SET_MM_ARG_END = 9 +PR_SET_MM_ARG_START = 8 +PR_SET_MM_AUXV = 12 PR_SET_MM_BRK = 7 PR_SET_MM_END_CODE = 2 PR_SET_MM_END_DATA = 4 +PR_SET_MM_ENV_END = 11 +PR_SET_MM_ENV_START = 10 +PR_SET_MM_EXE_FILE = 13 +PR_SET_MM_MAP = 14 +PR_SET_MM_MAP_SIZE = 15 PR_SET_MM_START_BRK = 6 PR_SET_MM_START_CODE = 1 PR_SET_MM_START_DATA = 3 diff --git a/sys/linux/prctl_ppc64le.const b/sys/linux/prctl_ppc64le.const index ba41c856e..1ab70e56a 100644 --- a/sys/linux/prctl_ppc64le.const +++ b/sys/linux/prctl_ppc64le.const @@ -69,9 +69,17 @@ PR_SET_FPEXC = 12 PR_SET_FP_MODE = 45 PR_SET_KEEPCAPS = 8 PR_SET_MM = 35 +PR_SET_MM_ARG_END = 9 +PR_SET_MM_ARG_START = 8 +PR_SET_MM_AUXV = 12 PR_SET_MM_BRK = 7 PR_SET_MM_END_CODE = 2 PR_SET_MM_END_DATA = 4 +PR_SET_MM_ENV_END = 11 +PR_SET_MM_ENV_START = 10 +PR_SET_MM_EXE_FILE = 13 +PR_SET_MM_MAP = 14 +PR_SET_MM_MAP_SIZE = 15 PR_SET_MM_START_BRK = 6 PR_SET_MM_START_CODE = 1 PR_SET_MM_START_DATA = 3 -- cgit mrf-deployment