aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-01-24 16:21:26 +0100
committerDmitry Vyukov <dvyukov@google.com>2019-01-24 16:49:39 +0100
commitf586e158c4d8b87c98d0b62fc1db192732ee4ae2 (patch)
treea37b4d7e71fb83df296b5b0e4e861778696d2511
parent5db97d84e9032fb37ed266873cea296ec6a6d6ce (diff)
sys/linux: add trusty hwkey service
Update #933
-rw-r--r--executor/defs.h10
-rw-r--r--executor/syscalls.h15
-rw-r--r--sys/linux/gen/386.go41
-rw-r--r--sys/linux/gen/amd64.go41
-rw-r--r--sys/linux/gen/arm.go41
-rw-r--r--sys/linux/gen/arm64.go41
-rw-r--r--sys/linux/gen/ppc64le.go41
-rw-r--r--sys/linux/trusty.txt25
-rw-r--r--sys/linux/trusty_386.const2
-rw-r--r--sys/linux/trusty_amd64.const2
-rw-r--r--sys/linux/trusty_arm.const2
-rw-r--r--sys/linux/trusty_arm64.const2
-rw-r--r--sys/linux/trusty_ppc64le.const2
13 files changed, 255 insertions, 10 deletions
diff --git a/executor/defs.h b/executor/defs.h
index a1c1cce69..d8511377b 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -60,7 +60,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "ef99674b7a38926844535442873c0f7e78db63a7"
+#define SYZ_REVISION "bbc22aa4699f199e3cc0289c712fea15bfe5cd87"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -70,7 +70,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "967577a619d816cf7f54ea5962c337b5247f34e6"
+#define SYZ_REVISION "84d678c037b68865265e5a986f9f1e4f7f80eae5"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -80,7 +80,7 @@
#if GOARCH_arm
#define GOARCH "arm"
-#define SYZ_REVISION "03db1fe7cf7f9f84aeead0cb002e09b648fe4805"
+#define SYZ_REVISION "86e450d5bcb098b8eba74d526cad76fdb2adec2c"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -90,7 +90,7 @@
#if GOARCH_arm64
#define GOARCH "arm64"
-#define SYZ_REVISION "199a3c175e09859a222d80cbaf97b19436cbee6f"
+#define SYZ_REVISION "e48488fcd479ab366d708a6c51927bef2f969d2b"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -100,7 +100,7 @@
#if GOARCH_ppc64le
#define GOARCH "ppc64le"
-#define SYZ_REVISION "4c347d3d3b8fe455b6eacc8b53381f0993792df3"
+#define SYZ_REVISION "914d598b39d901eab29dc0123dd87033f92e9128"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index 530d07788..563b9732e 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -2653,6 +2653,7 @@ const call_t syscalls[] = {
{"ioctl$TIPC_IOC_CONNECT", 54},
{"ioctl$TIPC_IOC_CONNECT_avb", 54},
{"ioctl$TIPC_IOC_CONNECT_gatekeeper", 54},
+ {"ioctl$TIPC_IOC_CONNECT_hwkey", 54},
{"ioctl$TIPC_IOC_CONNECT_keymaster_secure", 54},
{"ioctl$TIPC_IOC_CONNECT_km", 54},
{"ioctl$TIPC_IOC_CONNECT_storage", 54},
@@ -3135,6 +3136,7 @@ const call_t syscalls[] = {
{"openat$trusty", 295},
{"openat$trusty_avb", 295},
{"openat$trusty_gatekeeper", 295},
+ {"openat$trusty_hwkey", 295},
{"openat$trusty_km", 295},
{"openat$trusty_km_secure", 295},
{"openat$trusty_storage", 295},
@@ -4051,6 +4053,7 @@ const call_t syscalls[] = {
{"write$trusty", 4},
{"write$trusty_avb", 4},
{"write$trusty_gatekeeper", 4},
+ {"write$trusty_hwkey", 4},
{"write$trusty_km", 4},
{"write$trusty_km_secure", 4},
{"write$trusty_storage", 4},
@@ -5219,6 +5222,7 @@ const call_t syscalls[] = {
{"ioctl$TIPC_IOC_CONNECT", 16},
{"ioctl$TIPC_IOC_CONNECT_avb", 16},
{"ioctl$TIPC_IOC_CONNECT_gatekeeper", 16},
+ {"ioctl$TIPC_IOC_CONNECT_hwkey", 16},
{"ioctl$TIPC_IOC_CONNECT_keymaster_secure", 16},
{"ioctl$TIPC_IOC_CONNECT_km", 16},
{"ioctl$TIPC_IOC_CONNECT_storage", 16},
@@ -5701,6 +5705,7 @@ const call_t syscalls[] = {
{"openat$trusty", 257},
{"openat$trusty_avb", 257},
{"openat$trusty_gatekeeper", 257},
+ {"openat$trusty_hwkey", 257},
{"openat$trusty_km", 257},
{"openat$trusty_km_secure", 257},
{"openat$trusty_storage", 257},
@@ -6618,6 +6623,7 @@ const call_t syscalls[] = {
{"write$trusty", 1},
{"write$trusty_avb", 1},
{"write$trusty_gatekeeper", 1},
+ {"write$trusty_hwkey", 1},
{"write$trusty_km", 1},
{"write$trusty_km_secure", 1},
{"write$trusty_storage", 1},
@@ -7747,6 +7753,7 @@ const call_t syscalls[] = {
{"ioctl$TIPC_IOC_CONNECT", 54},
{"ioctl$TIPC_IOC_CONNECT_avb", 54},
{"ioctl$TIPC_IOC_CONNECT_gatekeeper", 54},
+ {"ioctl$TIPC_IOC_CONNECT_hwkey", 54},
{"ioctl$TIPC_IOC_CONNECT_keymaster_secure", 54},
{"ioctl$TIPC_IOC_CONNECT_km", 54},
{"ioctl$TIPC_IOC_CONNECT_storage", 54},
@@ -8223,6 +8230,7 @@ const call_t syscalls[] = {
{"openat$trusty", 322},
{"openat$trusty_avb", 322},
{"openat$trusty_gatekeeper", 322},
+ {"openat$trusty_hwkey", 322},
{"openat$trusty_km", 322},
{"openat$trusty_km_secure", 322},
{"openat$trusty_storage", 322},
@@ -9136,6 +9144,7 @@ const call_t syscalls[] = {
{"write$trusty", 4},
{"write$trusty_avb", 4},
{"write$trusty_gatekeeper", 4},
+ {"write$trusty_hwkey", 4},
{"write$trusty_km", 4},
{"write$trusty_km_secure", 4},
{"write$trusty_storage", 4},
@@ -10260,6 +10269,7 @@ const call_t syscalls[] = {
{"ioctl$TIPC_IOC_CONNECT", 29},
{"ioctl$TIPC_IOC_CONNECT_avb", 29},
{"ioctl$TIPC_IOC_CONNECT_gatekeeper", 29},
+ {"ioctl$TIPC_IOC_CONNECT_hwkey", 29},
{"ioctl$TIPC_IOC_CONNECT_keymaster_secure", 29},
{"ioctl$TIPC_IOC_CONNECT_km", 29},
{"ioctl$TIPC_IOC_CONNECT_storage", 29},
@@ -10728,6 +10738,7 @@ const call_t syscalls[] = {
{"openat$trusty", 56},
{"openat$trusty_avb", 56},
{"openat$trusty_gatekeeper", 56},
+ {"openat$trusty_hwkey", 56},
{"openat$trusty_km", 56},
{"openat$trusty_km_secure", 56},
{"openat$trusty_storage", 56},
@@ -11625,6 +11636,7 @@ const call_t syscalls[] = {
{"write$trusty", 64},
{"write$trusty_avb", 64},
{"write$trusty_gatekeeper", 64},
+ {"write$trusty_hwkey", 64},
{"write$trusty_km", 64},
{"write$trusty_km_secure", 64},
{"write$trusty_storage", 64},
@@ -12744,6 +12756,7 @@ const call_t syscalls[] = {
{"ioctl$TIPC_IOC_CONNECT", 54},
{"ioctl$TIPC_IOC_CONNECT_avb", 54},
{"ioctl$TIPC_IOC_CONNECT_gatekeeper", 54},
+ {"ioctl$TIPC_IOC_CONNECT_hwkey", 54},
{"ioctl$TIPC_IOC_CONNECT_keymaster_secure", 54},
{"ioctl$TIPC_IOC_CONNECT_km", 54},
{"ioctl$TIPC_IOC_CONNECT_storage", 54},
@@ -13125,6 +13138,7 @@ const call_t syscalls[] = {
{"openat$trusty", 286},
{"openat$trusty_avb", 286},
{"openat$trusty_gatekeeper", 286},
+ {"openat$trusty_hwkey", 286},
{"openat$trusty_km", 286},
{"openat$trusty_km_secure", 286},
{"openat$trusty_storage", 286},
@@ -14039,6 +14053,7 @@ const call_t syscalls[] = {
{"write$trusty", 4},
{"write$trusty_avb", 4},
{"write$trusty_gatekeeper", 4},
+ {"write$trusty_hwkey", 4},
{"write$trusty_km", 4},
{"write$trusty_km_secure", 4},
{"write$trusty_storage", 4},
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index c91d79b4c..b50433e54 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -89,6 +89,7 @@ var resources_386 = []*ResourceDesc{
{Name: "fd_trusty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_avb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_avb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_gatekeeper", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_gatekeeper"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_trusty_hwkey", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_hwkey"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km_secure", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km_secure"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_storage", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_storage"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -22279,6 +22280,26 @@ var structDescs_386 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "password_handle"},
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "provided_password"},
}}},
+ {Key: StructKey{Name: "trusty_hwkey"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, FldName: "get"},
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, FldName: "derive"},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
{Key: StructKey{Name: "trusty_km_attest_key"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_km_attest_key", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "key_blob"},
&StructType{Key: StructKey{Name: "trusty_authorization_set"}, FldName: "attest_params"},
@@ -32208,6 +32229,11 @@ var syscalls_386 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074033280},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 30}, Kind: 2, Values: []string{"com.android.trusty.gatekeeper\x00"}}},
}},
+ {NR: 54, Name: "ioctl$TIPC_IOC_CONNECT_hwkey", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074033280},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 25}, Kind: 2, Values: []string{"com.android.trusty.hwkey\x00"}}},
+ }},
{NR: 54, Name: "ioctl$TIPC_IOC_CONNECT_keymaster_secure", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km_secure", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074033280},
@@ -34762,6 +34788,12 @@ var syscalls_386 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2, 2050}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_gatekeeper", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 295, Name: "openat$trusty_hwkey", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 295, Name: "openat$trusty_km", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
@@ -40009,6 +40041,11 @@ var syscalls_386 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "trusty_gatekeeper_msg"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "msg"},
}},
+ {NR: 4, Name: "write$trusty_hwkey", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "trusty_hwkey"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "msg"},
+ }},
{NR: 4, Name: "write$trusty_km", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "trusty_km_msg"}}},
@@ -45438,6 +45475,8 @@ var consts_386 = []ConstValue{
{Name: "TRUSTY_ERROR_UNKNOWN", Value: 3},
{Name: "TRUSTY_GK_ENROLL"},
{Name: "TRUSTY_GK_VERIFY", Value: 2},
+ {Name: "TRUSTY_HWKEY_DERIVE", Value: 2},
+ {Name: "TRUSTY_HWKEY_GET_KEYSLOT"},
{Name: "TRUSTY_KM_ABORT_OPERATION", Value: 16},
{Name: "TRUSTY_KM_ADD_RNG_ENTROPY", Value: 32},
{Name: "TRUSTY_KM_ATTEST_KEY", Value: 64},
@@ -47282,4 +47321,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "ef99674b7a38926844535442873c0f7e78db63a7"
+const revision_386 = "bbc22aa4699f199e3cc0289c712fea15bfe5cd87"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index f3d7c0446..42f8d9eb4 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -89,6 +89,7 @@ var resources_amd64 = []*ResourceDesc{
{Name: "fd_trusty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_avb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_avb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_gatekeeper", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_gatekeeper"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_trusty_hwkey", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_hwkey"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km_secure", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km_secure"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_storage", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_storage"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -22641,6 +22642,26 @@ var structDescs_amd64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "password_handle"},
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "provided_password"},
}}},
+ {Key: StructKey{Name: "trusty_hwkey"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, FldName: "get"},
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, FldName: "derive"},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
{Key: StructKey{Name: "trusty_km_attest_key"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_km_attest_key", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "key_blob"},
&StructType{Key: StructKey{Name: "trusty_authorization_set"}, FldName: "attest_params"},
@@ -32715,6 +32736,11 @@ var syscalls_amd64 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074295424},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 30}, Kind: 2, Values: []string{"com.android.trusty.gatekeeper\x00"}}},
}},
+ {NR: 16, Name: "ioctl$TIPC_IOC_CONNECT_hwkey", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074295424},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 25}, Kind: 2, Values: []string{"com.android.trusty.hwkey\x00"}}},
+ }},
{NR: 16, Name: "ioctl$TIPC_IOC_CONNECT_keymaster_secure", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km_secure", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074295424},
@@ -35269,6 +35295,12 @@ var syscalls_amd64 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_gatekeeper", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 257, Name: "openat$trusty_hwkey", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 257, Name: "openat$trusty_km", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
@@ -40521,6 +40553,11 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_gatekeeper_msg"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "msg"},
}},
+ {NR: 1, Name: "write$trusty_hwkey", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_hwkey"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "msg"},
+ }},
{NR: 1, Name: "write$trusty_km", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_km_msg"}}},
@@ -45964,6 +46001,8 @@ var consts_amd64 = []ConstValue{
{Name: "TRUSTY_ERROR_UNKNOWN", Value: 3},
{Name: "TRUSTY_GK_ENROLL"},
{Name: "TRUSTY_GK_VERIFY", Value: 2},
+ {Name: "TRUSTY_HWKEY_DERIVE", Value: 2},
+ {Name: "TRUSTY_HWKEY_GET_KEYSLOT"},
{Name: "TRUSTY_KM_ABORT_OPERATION", Value: 16},
{Name: "TRUSTY_KM_ADD_RNG_ENTROPY", Value: 32},
{Name: "TRUSTY_KM_ATTEST_KEY", Value: 64},
@@ -47809,4 +47848,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "967577a619d816cf7f54ea5962c337b5247f34e6"
+const revision_amd64 = "84d678c037b68865265e5a986f9f1e4f7f80eae5"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 060627f59..10f7e37d2 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -89,6 +89,7 @@ var resources_arm = []*ResourceDesc{
{Name: "fd_trusty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_avb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_avb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_gatekeeper", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_gatekeeper"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_trusty_hwkey", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_hwkey"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km_secure", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km_secure"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_storage", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_storage"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -22101,6 +22102,26 @@ var structDescs_arm = []*KeyedStruct{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "password_handle"},
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "provided_password"},
}}},
+ {Key: StructKey{Name: "trusty_hwkey"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, FldName: "get"},
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, FldName: "derive"},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
{Key: StructKey{Name: "trusty_km_attest_key"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_km_attest_key", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "key_blob"},
&StructType{Key: StructKey{Name: "trusty_authorization_set"}, FldName: "attest_params"},
@@ -31902,6 +31923,11 @@ var syscalls_arm = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074033280},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 30}, Kind: 2, Values: []string{"com.android.trusty.gatekeeper\x00"}}},
}},
+ {NR: 54, Name: "ioctl$TIPC_IOC_CONNECT_hwkey", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074033280},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 25}, Kind: 2, Values: []string{"com.android.trusty.hwkey\x00"}}},
+ }},
{NR: 54, Name: "ioctl$TIPC_IOC_CONNECT_keymaster_secure", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km_secure", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074033280},
@@ -34428,6 +34454,12 @@ var syscalls_arm = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2, 2050}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_gatekeeper", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 322, Name: "openat$trusty_hwkey", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 322, Name: "openat$trusty_km", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
@@ -39663,6 +39695,11 @@ var syscalls_arm = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "trusty_gatekeeper_msg"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "msg"},
}},
+ {NR: 4, Name: "write$trusty_hwkey", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "trusty_hwkey"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "msg"},
+ }},
{NR: 4, Name: "write$trusty_km", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "trusty_km_msg"}}},
@@ -45031,6 +45068,8 @@ var consts_arm = []ConstValue{
{Name: "TRUSTY_ERROR_UNKNOWN", Value: 3},
{Name: "TRUSTY_GK_ENROLL"},
{Name: "TRUSTY_GK_VERIFY", Value: 2},
+ {Name: "TRUSTY_HWKEY_DERIVE", Value: 2},
+ {Name: "TRUSTY_HWKEY_GET_KEYSLOT"},
{Name: "TRUSTY_KM_ABORT_OPERATION", Value: 16},
{Name: "TRUSTY_KM_ADD_RNG_ENTROPY", Value: 32},
{Name: "TRUSTY_KM_ATTEST_KEY", Value: 64},
@@ -46865,4 +46904,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "03db1fe7cf7f9f84aeead0cb002e09b648fe4805"
+const revision_arm = "86e450d5bcb098b8eba74d526cad76fdb2adec2c"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index a112eb9e8..4a7c4f757 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -89,6 +89,7 @@ var resources_arm64 = []*ResourceDesc{
{Name: "fd_trusty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_avb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_avb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_gatekeeper", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_gatekeeper"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_trusty_hwkey", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_hwkey"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km_secure", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km_secure"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_storage", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_storage"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -22458,6 +22459,26 @@ var structDescs_arm64 = []*KeyedStruct{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "password_handle"},
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "provided_password"},
}}},
+ {Key: StructKey{Name: "trusty_hwkey"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, FldName: "get"},
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, FldName: "derive"},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
{Key: StructKey{Name: "trusty_km_attest_key"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_km_attest_key", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "key_blob"},
&StructType{Key: StructKey{Name: "trusty_authorization_set"}, FldName: "attest_params"},
@@ -32312,6 +32333,11 @@ var syscalls_arm64 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074295424},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 30}, Kind: 2, Values: []string{"com.android.trusty.gatekeeper\x00"}}},
}},
+ {NR: 29, Name: "ioctl$TIPC_IOC_CONNECT_hwkey", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074295424},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 25}, Kind: 2, Values: []string{"com.android.trusty.hwkey\x00"}}},
+ }},
{NR: 29, Name: "ioctl$TIPC_IOC_CONNECT_keymaster_secure", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km_secure", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074295424},
@@ -34801,6 +34827,12 @@ var syscalls_arm64 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_gatekeeper", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 56, Name: "openat$trusty_hwkey", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 56, Name: "openat$trusty_km", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
@@ -39976,6 +40008,11 @@ var syscalls_arm64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_gatekeeper_msg"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "msg"},
}},
+ {NR: 64, Name: "write$trusty_hwkey", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_hwkey"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "msg"},
+ }},
{NR: 64, Name: "write$trusty_km", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_km_msg"}}},
@@ -45363,6 +45400,8 @@ var consts_arm64 = []ConstValue{
{Name: "TRUSTY_ERROR_UNKNOWN", Value: 3},
{Name: "TRUSTY_GK_ENROLL"},
{Name: "TRUSTY_GK_VERIFY", Value: 2},
+ {Name: "TRUSTY_HWKEY_DERIVE", Value: 2},
+ {Name: "TRUSTY_HWKEY_GET_KEYSLOT"},
{Name: "TRUSTY_KM_ABORT_OPERATION", Value: 16},
{Name: "TRUSTY_KM_ADD_RNG_ENTROPY", Value: 32},
{Name: "TRUSTY_KM_ATTEST_KEY", Value: 64},
@@ -47167,4 +47206,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "199a3c175e09859a222d80cbaf97b19436cbee6f"
+const revision_arm64 = "e48488fcd479ab366d708a6c51927bef2f969d2b"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index 8c5bd8edb..68c700dfd 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -88,6 +88,7 @@ var resources_ppc64le = []*ResourceDesc{
{Name: "fd_trusty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_avb", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_avb"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_gatekeeper", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_gatekeeper"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_trusty_hwkey", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_hwkey"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_km_secure", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_km_secure"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_trusty_storage", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_trusty", "fd_trusty_storage"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -22331,6 +22332,26 @@ var structDescs_ppc64le = []*KeyedStruct{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "password_handle"},
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "provided_password"},
}}},
+ {Key: StructKey{Name: "trusty_hwkey"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey", IsVarlen: true}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, FldName: "get"},
+ &StructType{Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, FldName: "derive"},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
+ {Key: StructKey{Name: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "op_id", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "status", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg2", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "payload", IsVarlen: true}, Kind: 2, NoZ: true},
+ }}},
{Key: StructKey{Name: "trusty_km_attest_key"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "trusty_km_attest_key", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "trusty_blob"}, FldName: "key_blob"},
&StructType{Key: StructKey{Name: "trusty_authorization_set"}, FldName: "attest_params"},
@@ -31351,6 +31372,11 @@ var syscalls_ppc64le = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2148037248},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 30}, Kind: 2, Values: []string{"com.android.trusty.gatekeeper\x00"}}},
}},
+ {NR: 54, Name: "ioctl$TIPC_IOC_CONNECT_hwkey", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2148037248},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 25}, Kind: 2, Values: []string{"com.android.trusty.hwkey\x00"}}},
+ }},
{NR: 54, Name: "ioctl$TIPC_IOC_CONNECT_keymaster_secure", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km_secure", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2148037248},
@@ -33400,6 +33426,12 @@ var syscalls_ppc64le = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_gatekeeper", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 286, Name: "openat$trusty_hwkey", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "trusty_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 286, Name: "openat$trusty_km", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 21}, Kind: 2, Values: []string{"/dev/trusty-ipc-dev0\x00"}}},
@@ -38638,6 +38670,11 @@ var syscalls_ppc64le = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_gatekeeper_msg"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "msg"},
}},
+ {NR: 4, Name: "write$trusty_hwkey", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_hwkey", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_hwkey"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "msg"},
+ }},
{NR: 4, Name: "write$trusty_km", CallName: "write", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_trusty_km", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "trusty_km_msg"}}},
@@ -43907,6 +43944,8 @@ var consts_ppc64le = []ConstValue{
{Name: "TRUSTY_ERROR_UNKNOWN", Value: 3},
{Name: "TRUSTY_GK_ENROLL"},
{Name: "TRUSTY_GK_VERIFY", Value: 2},
+ {Name: "TRUSTY_HWKEY_DERIVE", Value: 2},
+ {Name: "TRUSTY_HWKEY_GET_KEYSLOT"},
{Name: "TRUSTY_KM_ABORT_OPERATION", Value: 16},
{Name: "TRUSTY_KM_ADD_RNG_ENTROPY", Value: 32},
{Name: "TRUSTY_KM_ATTEST_KEY", Value: 64},
@@ -44803,4 +44842,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "4c347d3d3b8fe455b6eacc8b53381f0993792df3"
+const revision_ppc64le = "914d598b39d901eab29dc0123dd87033f92e9128"
diff --git a/sys/linux/trusty.txt b/sys/linux/trusty.txt
index 4efa57b38..5561618ec 100644
--- a/sys/linux/trusty.txt
+++ b/sys/linux/trusty.txt
@@ -464,3 +464,28 @@ trusty_storage_rpmb_send_req {
# NEED: this should be a 512-aligned int in range [0:4096]
trusty_storage_rpmb_read_size = 0, 512, 1024, 1536, 1536, 2048, 2560, 3072, 3584, 4096
+
+### hwkey ###
+
+resource fd_trusty_hwkey[fd_trusty]
+
+openat$trusty_hwkey(fd const[AT_FDCWD], file ptr[in, string["/dev/trusty-ipc-dev0"]], flags flags[trusty_open_flags], mode const[0]) fd_trusty_hwkey
+ioctl$TIPC_IOC_CONNECT_hwkey(fd fd_trusty_hwkey, cmd const[TIPC_IOC_CONNECT], arg ptr[in, string["com.android.trusty.hwkey"]])
+write$trusty_hwkey(fd fd_trusty_hwkey, msg ptr[in, trusty_hwkey], len len[msg])
+
+trusty_hwkey [
+ get trusty_hwkey_msg[TRUSTY_HWKEY_GET_KEYSLOT, stringnoz]
+ derive trusty_hwkey_msg[TRUSTY_HWKEY_DERIVE, stringnoz]
+] [varlen]
+
+type trusty_hwkey_msg[CMD, PAYLOAD] {
+ cmd const[CMD, int32]
+ op_id int32[0:4]
+ status const[0, int32]
+ arg1 const[0, int32]
+ arg2 const[0, int32]
+ payload PAYLOAD
+}
+
+define TRUSTY_HWKEY_GET_KEYSLOT 0 << 1
+define TRUSTY_HWKEY_DERIVE 1 << 1
diff --git a/sys/linux/trusty_386.const b/sys/linux/trusty_386.const
index ed69fc1d4..c052c1e58 100644
--- a/sys/linux/trusty_386.const
+++ b/sys/linux/trusty_386.const
@@ -18,6 +18,8 @@ TRUSTY_ERROR_RETRY = 2
TRUSTY_ERROR_UNKNOWN = 3
TRUSTY_GK_ENROLL = 0
TRUSTY_GK_VERIFY = 2
+TRUSTY_HWKEY_DERIVE = 2
+TRUSTY_HWKEY_GET_KEYSLOT = 0
TRUSTY_KM_ABORT_OPERATION = 16
TRUSTY_KM_ADD_RNG_ENTROPY = 32
TRUSTY_KM_ATTEST_KEY = 64
diff --git a/sys/linux/trusty_amd64.const b/sys/linux/trusty_amd64.const
index d17106105..003adc155 100644
--- a/sys/linux/trusty_amd64.const
+++ b/sys/linux/trusty_amd64.const
@@ -18,6 +18,8 @@ TRUSTY_ERROR_RETRY = 2
TRUSTY_ERROR_UNKNOWN = 3
TRUSTY_GK_ENROLL = 0
TRUSTY_GK_VERIFY = 2
+TRUSTY_HWKEY_DERIVE = 2
+TRUSTY_HWKEY_GET_KEYSLOT = 0
TRUSTY_KM_ABORT_OPERATION = 16
TRUSTY_KM_ADD_RNG_ENTROPY = 32
TRUSTY_KM_ATTEST_KEY = 64
diff --git a/sys/linux/trusty_arm.const b/sys/linux/trusty_arm.const
index b25c93b1f..9a2d4b4a3 100644
--- a/sys/linux/trusty_arm.const
+++ b/sys/linux/trusty_arm.const
@@ -18,6 +18,8 @@ TRUSTY_ERROR_RETRY = 2
TRUSTY_ERROR_UNKNOWN = 3
TRUSTY_GK_ENROLL = 0
TRUSTY_GK_VERIFY = 2
+TRUSTY_HWKEY_DERIVE = 2
+TRUSTY_HWKEY_GET_KEYSLOT = 0
TRUSTY_KM_ABORT_OPERATION = 16
TRUSTY_KM_ADD_RNG_ENTROPY = 32
TRUSTY_KM_ATTEST_KEY = 64
diff --git a/sys/linux/trusty_arm64.const b/sys/linux/trusty_arm64.const
index 31207730e..9e0916d05 100644
--- a/sys/linux/trusty_arm64.const
+++ b/sys/linux/trusty_arm64.const
@@ -18,6 +18,8 @@ TRUSTY_ERROR_RETRY = 2
TRUSTY_ERROR_UNKNOWN = 3
TRUSTY_GK_ENROLL = 0
TRUSTY_GK_VERIFY = 2
+TRUSTY_HWKEY_DERIVE = 2
+TRUSTY_HWKEY_GET_KEYSLOT = 0
TRUSTY_KM_ABORT_OPERATION = 16
TRUSTY_KM_ADD_RNG_ENTROPY = 32
TRUSTY_KM_ATTEST_KEY = 64
diff --git a/sys/linux/trusty_ppc64le.const b/sys/linux/trusty_ppc64le.const
index ae09594a8..448e88284 100644
--- a/sys/linux/trusty_ppc64le.const
+++ b/sys/linux/trusty_ppc64le.const
@@ -18,6 +18,8 @@ TRUSTY_ERROR_RETRY = 2
TRUSTY_ERROR_UNKNOWN = 3
TRUSTY_GK_ENROLL = 0
TRUSTY_GK_VERIFY = 2
+TRUSTY_HWKEY_DERIVE = 2
+TRUSTY_HWKEY_GET_KEYSLOT = 0
TRUSTY_KM_ABORT_OPERATION = 16
TRUSTY_KM_ADD_RNG_ENTROPY = 32
TRUSTY_KM_ATTEST_KEY = 64