From 8620c2c2581732b54045bd75ae1220982fbb650f Mon Sep 17 00:00:00 2001 From: Anton Lindqvist Date: Sun, 11 Aug 2019 15:08:06 +0200 Subject: sys/openbsd: add ktrace description --- sys/openbsd/gen/amd64.go | 24 +++++++++++++++++++++++- sys/openbsd/ktrace.txt | 11 +++++++++++ sys/openbsd/ktrace_amd64.const | 17 +++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 sys/openbsd/ktrace.txt create mode 100644 sys/openbsd/ktrace_amd64.const (limited to 'sys/openbsd') diff --git a/sys/openbsd/gen/amd64.go b/sys/openbsd/gen/amd64.go index d5997372b..38b721f65 100644 --- a/sys/openbsd/gen/amd64.go +++ b/sys/openbsd/gen/amd64.go @@ -1711,6 +1711,12 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "timeout", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "timespec"}}}, }}, {NR: 269, Name: "kqueue", CallName: "kqueue", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_kqueue", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 45, Name: "ktrace", CallName: "ktrace", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "tracefile", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ktrace_op_flags", FldName: "ops", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 4}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ktrace_trace_flags", FldName: "trpoints", TypeSize: 8}}, Vals: []uint64{2, 4, 8, 16, 32, 256, 512, 1024, 2048, 4096, 1073741824}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", TypeSize: 4}}, + }}, {NR: 254, Name: "lchown", CallName: "lchown", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", TypeSize: 4}}, @@ -2555,6 +2561,21 @@ var consts_amd64 = []ConstValue{ {Name: "KDSETRAD", Value: 536890179}, {Name: "KD_GRAPHICS", Value: 1}, {Name: "KD_TEXT"}, + {Name: "KTRFAC_EXECARGS", Value: 1024}, + {Name: "KTRFAC_EXECENV", Value: 2048}, + {Name: "KTRFAC_GENIO", Value: 16}, + {Name: "KTRFAC_INHERIT", Value: 1073741824}, + {Name: "KTRFAC_NAMEI", Value: 8}, + {Name: "KTRFAC_PLEDGE", Value: 4096}, + {Name: "KTRFAC_PSIG", Value: 32}, + {Name: "KTRFAC_STRUCT", Value: 256}, + {Name: "KTRFAC_SYSCALL", Value: 2}, + {Name: "KTRFAC_SYSRET", Value: 4}, + {Name: "KTRFAC_USER", Value: 512}, + {Name: "KTRFLAG_DESCEND", Value: 4}, + {Name: "KTROP_CLEAR", Value: 1}, + {Name: "KTROP_CLEARFILE", Value: 2}, + {Name: "KTROP_SET"}, {Name: "K_RAW"}, {Name: "K_XLATE", Value: 1}, {Name: "LED_CAP", Value: 1}, @@ -2759,6 +2780,7 @@ var consts_amd64 = []ConstValue{ {Name: "SYS_ioctl", Value: 54}, {Name: "SYS_kevent", Value: 72}, {Name: "SYS_kqueue", Value: 269}, + {Name: "SYS_ktrace", Value: 45}, {Name: "SYS_lchown", Value: 254}, {Name: "SYS_link", Value: 9}, {Name: "SYS_linkat", Value: 317}, @@ -3028,4 +3050,4 @@ var consts_amd64 = []ConstValue{ {Name: "__MAP_NOREPLACE", Value: 2048}, } -const revision_amd64 = "c08476e4752b4059cf12a60808713009b95eb172" +const revision_amd64 = "eee7ba72a578dfec4292538dd7a1fbe4e927d64f" diff --git a/sys/openbsd/ktrace.txt b/sys/openbsd/ktrace.txt new file mode 100644 index 000000000..ca89c00bc --- /dev/null +++ b/sys/openbsd/ktrace.txt @@ -0,0 +1,11 @@ +# Copyright 2019 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +include + +include + +ktrace(tracefile ptr[in, filename], ops flags[ktrace_op_flags], trpoints flags[ktrace_trace_flags], pid pid) + +ktrace_op_flags = KTROP_SET, KTROP_CLEAR, KTROP_CLEARFILE, KTRFLAG_DESCEND +ktrace_trace_flags = KTRFAC_SYSCALL, KTRFAC_SYSRET, KTRFAC_NAMEI, KTRFAC_GENIO, KTRFAC_PSIG, KTRFAC_STRUCT, KTRFAC_USER, KTRFAC_EXECARGS, KTRFAC_EXECENV, KTRFAC_PLEDGE, KTRFAC_INHERIT diff --git a/sys/openbsd/ktrace_amd64.const b/sys/openbsd/ktrace_amd64.const new file mode 100644 index 000000000..a6207c4b9 --- /dev/null +++ b/sys/openbsd/ktrace_amd64.const @@ -0,0 +1,17 @@ +# AUTOGENERATED FILE +KTRFAC_EXECARGS = 1024 +KTRFAC_EXECENV = 2048 +KTRFAC_GENIO = 16 +KTRFAC_INHERIT = 1073741824 +KTRFAC_NAMEI = 8 +KTRFAC_PLEDGE = 4096 +KTRFAC_PSIG = 32 +KTRFAC_STRUCT = 256 +KTRFAC_SYSCALL = 2 +KTRFAC_SYSRET = 4 +KTRFAC_USER = 512 +KTRFLAG_DESCEND = 4 +KTROP_CLEAR = 1 +KTROP_CLEARFILE = 2 +KTROP_SET = 0 +SYS_ktrace = 45 -- cgit mrf-deployment