From aa4feb03290ee285b276e5a9c9abddd5296e79e0 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 30 Jan 2019 07:23:38 +0100 Subject: sys/linux: extend key descriptions --- sys/linux/gen/amd64.go | 77 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) (limited to 'sys/linux/gen/amd64.go') diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 8fe7b5f59..060b56dff 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -8748,6 +8748,22 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "key_encrypted_load"}, FldName: "encrypted_load"}, &StructType{Key: StructKey{Name: "key_encrypted_update"}, FldName: "encrypted_update"}, }}}, + {Key: StructKey{Name: "key_restriction"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "key_restriction", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "builtin", TypeSize: 16}, Kind: 2, Values: []string{"builtin_trusted\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "secondary", TypeSize: 30}, Kind: 2, Values: []string{"builtin_and_secondary_trusted\x00"}}, + &StructType{Key: StructKey{Name: "key_restriction_keyring"}, FldName: "keyring"}, + &StructType{Key: StructKey{Name: "key_restriction_keyring_chain"}, FldName: "chain"}, + }}}, + {Key: StructKey{Name: "key_restriction_keyring"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "key_restriction_keyring", TypeSize: 34}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "keyring", TypeSize: 15}, Kind: 2, Values: []string{"key_or_keyring:"}, NoZ: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "key", TypeSize: 18}, ArgFormat: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "z", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "key_restriction_keyring_chain"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "key_restriction_keyring_chain", TypeSize: 40}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "keyring", TypeSize: 15}, Kind: 2, Values: []string{"key_or_keyring:"}, NoZ: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "key", TypeSize: 18}, ArgFormat: 3}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "chain", TypeSize: 7}, Kind: 2, Values: []string{":chain\x00"}}, + }}}, {Key: StructKey{Name: "keyctl_dh_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "keyctl_dh_params", TypeSize: 12}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "user_key", FldName: "private", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "user_key", FldName: "prime", TypeSize: 4}}, @@ -8760,6 +8776,18 @@ var structDescs_amd64 = []*KeyedStruct{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "__spare", TypeSize: 32}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, }}}, + {Key: StructKey{Name: "keyctl_pkey_info"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "keyctl_pkey_info", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "enc", TypeSize: 4}, Kind: 2, Values: []string{"enc="}, NoZ: true}, + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "env_val", IsVarlen: true}, Kind: 2, SubKind: "keyctl_pkey_info_enc", Values: []string{"raw", "pkcs1", "oaep"}, NoZ: true}, + &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "hash", TypeSize: 6}, Kind: 2, Values: []string{" hash="}, NoZ: true}, + &StructType{Key: StructKey{Name: "alg_hash_name"}, FldName: "hash_val"}, + }}}, + {Key: StructKey{Name: "keyctl_pkey_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "keyctl_pkey_params", TypeSize: 40}, Fields: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key_id", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "in_len", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "out_len", TypeSize: 4}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "__spare", TypeSize: 28}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 7, RangeEnd: 7}, + }}}, {Key: StructKey{Name: "kvm_arm_device_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "kvm_arm_device_addr", TypeSize: 16}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "id", TypeSize: 8}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "kvm_guest_addrs", FldName: "addr", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 4, 4096, 8192, 12288, 16384, 20480, 24576, 53248, 61440, 1048576, 65536}}, @@ -34267,6 +34295,47 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "segments", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "kexec_segment"}}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "kexec_load_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 196608, 4063232, 1310720, 1376256, 3276800, 2621440, 1441792, 2752512, 524288, 655360, 0}}, }}, + {NR: 250, Name: "keyctl$KEYCTL_PKEY_DECRYPT", CallName: "keyctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 8}}, Val: 26}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "params", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_params"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "info", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_info"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "inout", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "output", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + }}, + {NR: 250, Name: "keyctl$KEYCTL_PKEY_ENCRYPT", CallName: "keyctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 8}}, Val: 25}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "params", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_params"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "info", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_info"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "inout", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "output", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + }}, + {NR: 250, Name: "keyctl$KEYCTL_PKEY_QUERY", CallName: "keyctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 8}}, Val: 24}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg3", TypeSize: 8}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "info", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "query", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 56, ArgDir: 1}, Kind: 1, RangeBegin: 56, RangeEnd: 56}}, + }}, + {NR: 250, Name: "keyctl$KEYCTL_PKEY_SIGN", CallName: "keyctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 8}}, Val: 27}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "params", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_params"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "info", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_info"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "inout", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "output", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + }}, + {NR: 250, Name: "keyctl$KEYCTL_PKEY_VERIFY", CallName: "keyctl", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 8}}, Val: 28}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "params", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_params"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "info", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "keyctl_pkey_info"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "inout", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "output", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, + }}, + {NR: 250, Name: "keyctl$KEYCTL_RESTRICT_KEYRING", CallName: "keyctl", MissingArgs: 1, Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 8}}, Val: 29}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "type", TypeSize: 8, IsOptional: true}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2, SubKind: "key_type", Values: []string{"asymmetric\x00", "big_key\x00", "blacklist\x00", "ceph\x00", "cifs.idmap\x00", "cifs.spnego\x00", ".dead\x00", "dns_resolver\x00", "encrypted\x00", "id_legacy\x00", "id_resolver\x00", "keyring\x00", "logon\x00", "pkcs7_test\x00", ".request_key_auth\x00", "rxrpc\x00", "rxrpc_s\x00", "syzkaller\x00", "trusted\x00", "user\x00"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "restriction", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "key_restriction"}}}, + }}, {NR: 250, Name: "keyctl$assume_authority", CallName: "keyctl", MissingArgs: 3, Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 8}}, Val: 16}, &ResourceType{TypeCommon: TypeCommon{TypeName: "key", FldName: "key", TypeSize: 4}}, @@ -43119,6 +43188,12 @@ var consts_amd64 = []ConstValue{ {Name: "KEYCTL_JOIN_SESSION_KEYRING", Value: 1}, {Name: "KEYCTL_LINK", Value: 8}, {Name: "KEYCTL_NEGATE", Value: 13}, + {Name: "KEYCTL_PKEY_DECRYPT", Value: 26}, + {Name: "KEYCTL_PKEY_ENCRYPT", Value: 25}, + {Name: "KEYCTL_PKEY_QUERY", Value: 24}, + {Name: "KEYCTL_PKEY_QUERY_SIZE", Value: 56}, + {Name: "KEYCTL_PKEY_SIGN", Value: 27}, + {Name: "KEYCTL_PKEY_VERIFY", Value: 28}, {Name: "KEYCTL_READ", Value: 11}, {Name: "KEYCTL_REJECT", Value: 19}, {Name: "KEYCTL_RESTRICT_KEYRING", Value: 29}, @@ -47962,4 +48037,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "76561d0a7b6dee60269bef9fedf506e062a2ec19" +const revision_amd64 = "9d166e83d2dbb367024f73a14ca95d0030d8dc82" -- cgit mrf-deployment