From 2e6300854a5f61abb99404d2fbbc9b9a419694a3 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 14 May 2019 19:18:17 +0200 Subject: sys/linux: improve binder descriptions Add few new ioctl's. Add some typedefs for clarity. --- executor/defs.h | 10 +++---- executor/syscalls.h | 10 +++++++ sys/linux/dev_binder.txt | 59 ++++++++++++++++++++++++++------------ sys/linux/dev_binder_386.const | 3 ++ sys/linux/dev_binder_amd64.const | 3 ++ sys/linux/dev_binder_arm.const | 3 ++ sys/linux/dev_binder_arm64.const | 3 ++ sys/linux/dev_binder_ppc64le.const | 3 ++ sys/linux/gen/386.go | 59 ++++++++++++++++++++++++++++++++++---- sys/linux/gen/amd64.go | 59 ++++++++++++++++++++++++++++++++++---- sys/linux/gen/arm.go | 59 ++++++++++++++++++++++++++++++++++---- sys/linux/gen/arm64.go | 59 ++++++++++++++++++++++++++++++++++---- sys/linux/gen/ppc64le.go | 59 ++++++++++++++++++++++++++++++++++---- 13 files changed, 335 insertions(+), 54 deletions(-) diff --git a/executor/defs.h b/executor/defs.h index 9a3b302f1..efeb8d026 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -60,7 +60,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "3d52a222b87f6036a84f338de14740f34a4a74d3" +#define SYZ_REVISION "c481fc548f8495652321938cc664cda692bb3640" #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 "1e8b2cbaae600fa5e394e2174cddf8ccf7041300" +#define SYZ_REVISION "c3ca596ec5a418716e3ed1df1d9f03f6614fb8c9" #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 "4a47ba2821cf130ddc502d985baaad7845663453" +#define SYZ_REVISION "755e72f507bfba544c5361f262fc77fb932a5e2d" #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 "dff930cd81891aa2da786dab8783efe0de057abb" +#define SYZ_REVISION "ac163f5b11f81bf7691ef0b1f6e6be60c286f750" #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 "0f540c7bfaa1f375f0b49062ef69700e13a1aa94" +#define SYZ_REVISION "c9b32a0e01f79a400b0dde6e9094c8bde5adc209" #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 4db0dfb32..d42deeeca 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -2057,7 +2057,9 @@ const call_t syscalls[] = { {"ioctl$ASHMEM_SET_PROT_MASK", 54}, {"ioctl$ASHMEM_SET_SIZE", 54}, {"ioctl$BINDER_GET_NODE_DEBUG_INFO", 54}, + {"ioctl$BINDER_GET_NODE_INFO_FOR_REF", 54}, {"ioctl$BINDER_SET_CONTEXT_MGR", 54}, + {"ioctl$BINDER_SET_CONTEXT_MGR_EXT", 54}, {"ioctl$BINDER_SET_MAX_THREADS", 54}, {"ioctl$BINDER_THREAD_EXIT", 54}, {"ioctl$BINDER_WRITE_READ", 54}, @@ -4751,7 +4753,9 @@ const call_t syscalls[] = { {"ioctl$ASHMEM_SET_PROT_MASK", 16}, {"ioctl$ASHMEM_SET_SIZE", 16}, {"ioctl$BINDER_GET_NODE_DEBUG_INFO", 16}, + {"ioctl$BINDER_GET_NODE_INFO_FOR_REF", 16}, {"ioctl$BINDER_SET_CONTEXT_MGR", 16}, + {"ioctl$BINDER_SET_CONTEXT_MGR_EXT", 16}, {"ioctl$BINDER_SET_MAX_THREADS", 16}, {"ioctl$BINDER_THREAD_EXIT", 16}, {"ioctl$BINDER_WRITE_READ", 16}, @@ -7427,7 +7431,9 @@ const call_t syscalls[] = { {"ioctl$ASHMEM_SET_PROT_MASK", 54}, {"ioctl$ASHMEM_SET_SIZE", 54}, {"ioctl$BINDER_GET_NODE_DEBUG_INFO", 54}, + {"ioctl$BINDER_GET_NODE_INFO_FOR_REF", 54}, {"ioctl$BINDER_SET_CONTEXT_MGR", 54}, + {"ioctl$BINDER_SET_CONTEXT_MGR_EXT", 54}, {"ioctl$BINDER_SET_MAX_THREADS", 54}, {"ioctl$BINDER_THREAD_EXIT", 54}, {"ioctl$BINDER_WRITE_READ", 54}, @@ -10054,7 +10060,9 @@ const call_t syscalls[] = { {"ioctl$ASHMEM_SET_PROT_MASK", 29}, {"ioctl$ASHMEM_SET_SIZE", 29}, {"ioctl$BINDER_GET_NODE_DEBUG_INFO", 29}, + {"ioctl$BINDER_GET_NODE_INFO_FOR_REF", 29}, {"ioctl$BINDER_SET_CONTEXT_MGR", 29}, + {"ioctl$BINDER_SET_CONTEXT_MGR_EXT", 29}, {"ioctl$BINDER_SET_MAX_THREADS", 29}, {"ioctl$BINDER_THREAD_EXIT", 29}, {"ioctl$BINDER_WRITE_READ", 29}, @@ -12674,7 +12682,9 @@ const call_t syscalls[] = { {"ioctl$ASHMEM_SET_PROT_MASK", 54}, {"ioctl$ASHMEM_SET_SIZE", 54}, {"ioctl$BINDER_GET_NODE_DEBUG_INFO", 54}, + {"ioctl$BINDER_GET_NODE_INFO_FOR_REF", 54}, {"ioctl$BINDER_SET_CONTEXT_MGR", 54}, + {"ioctl$BINDER_SET_CONTEXT_MGR_EXT", 54}, {"ioctl$BINDER_SET_MAX_THREADS", 54}, {"ioctl$BINDER_THREAD_EXIT", 54}, {"ioctl$BINDER_WRITE_READ", 54}, diff --git a/sys/linux/dev_binder.txt b/sys/linux/dev_binder.txt index b8c7c1f05..f163e6e40 100644 --- a/sys/linux/dev_binder.txt +++ b/sys/linux/dev_binder.txt @@ -11,15 +11,20 @@ include resource fd_binder[fd] resource binder_ptr[int64]: 0 +type binder_handle int32[0:4] +type binder_cookie int64[0:4] + syz_open_dev$binder(dev ptr[in, string["/dev/binder#"]], id proc[0, 1], flags flags[binder_open_flags]) fd_binder mmap$binder(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_binder, offset fileoff) binder_ptr -ioctl$BINDER_SET_MAX_THREADS(fd fd_binder, cmd const[BINDER_SET_MAX_THREADS], nthreads int32) +ioctl$BINDER_SET_MAX_THREADS(fd fd_binder, cmd const[BINDER_SET_MAX_THREADS], arg ptr[in, int32]) ioctl$BINDER_SET_CONTEXT_MGR(fd fd_binder, cmd const[BINDER_SET_CONTEXT_MGR], arg const[0]) +ioctl$BINDER_SET_CONTEXT_MGR_EXT(fd fd_binder, cmd const[BINDER_SET_CONTEXT_MGR_EXT], arg ptr[in, flat_binder_object]) ioctl$BINDER_THREAD_EXIT(fd fd_binder, cmd const[BINDER_THREAD_EXIT], arg const[0]) ioctl$BINDER_GET_NODE_DEBUG_INFO(fd fd_binder, cmd const[BINDER_GET_NODE_DEBUG_INFO], arg ptr[inout, binder_node_debug_info]) ioctl$BINDER_WRITE_READ(fd fd_binder, cmd const[BINDER_WRITE_READ], arg ptr[in, binder_write_read]) +ioctl$BINDER_GET_NODE_INFO_FOR_REF(fd fd_binder, cmd const[BINDER_GET_NODE_INFO_FOR_REF], arg ptr[in, binder_node_info_for_ref]) binder_open_flags = O_RDWR, O_NONBLOCK _ = __NR_mmap2 @@ -31,6 +36,15 @@ binder_node_debug_info { has_weak_ref const[0, int32] } +binder_node_info_for_ref { + handle binder_handle + strong_count const[0, int32] + weak_count const[0, int32] + reserved1 const[0, int32] + reserved2 const[0, int32] + reserved3 const[0, int32] +} + binder_write_read { write_size bytesize[write_buffer, int64] write_consumed const[0, int64] @@ -81,10 +95,10 @@ binder_cmd_reply_sg { } [packed] binder_transaction_data { - handle int32[0:4] + handle binder_handle # there is a union of handle with binder_uintptr_t pad const[0, int32] - cookie int64[0:4] + cookie binder_cookie code const[0, int32] flags flags[binder_transaction_flags, int32] sender_pid const[0, int32] @@ -97,6 +111,7 @@ binder_transaction_data { binder_transaction_data_sg { trx binder_transaction_data +# NEED: buffers_size should be multiple of 8. buffers_size int64 } [packed] @@ -113,22 +128,28 @@ binder_object [ ptr binder_buffer_object ] [varlen] -flat_binder_object { - type flags[binder_flat_types, int32] +flat_binder_object [ + binder flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr] + weak_binder flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr] + handle flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle] + weak_handle flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle] +] + +type flat_binder_object_t[TYP, DATA] { + type const[TYP, int32] flags flags[binder_flat_flags, int32] - binder binder_ptr - cookie int64[0:4] + binder DATA + cookie binder_cookie } -binder_flat_types = BINDER_TYPE_BINDER, BINDER_TYPE_WEAK_BINDER, BINDER_TYPE_HANDLE, BINDER_TYPE_WEAK_HANDLE -binder_flat_flags = 1, 10, FLAT_BINDER_FLAG_ACCEPTS_FDS +binder_flat_flags = 1, 10, FLAT_BINDER_FLAG_ACCEPTS_FDS, FLAT_BINDER_FLAG_TXN_SECURITY_CTX binder_fd_object { type const[BINDER_TYPE_FD, int32] pad const[0, int32] fd fd pad2 const[0, int32] - cookie int64[0:4] + cookie binder_cookie } binder_fd_array_object { @@ -140,8 +161,8 @@ binder_fd_array_object { binder_buffer_object { type const[BINDER_TYPE_PTR, int32] - flags int32[0:1] - buffer ptr64[in, const[0, int8]] + flags bool32 + buffer ptr64[in, array[int8]] length bytesize[buffer, int64] parnt int64[0:4] parent_offset int64[0:64] @@ -175,13 +196,13 @@ binder_cmd_decrefs { binder_cmd_increfs_done { cmd const[BC_INCREFS_DONE, int32] ptr binder_ptr - cookie int64[0:4] + cookie binder_cookie } [packed] binder_cmd_acquire_done { cmd const[BC_ACQUIRE_DONE, int32] ptr binder_ptr - cookie int64[0:4] + cookie binder_cookie } [packed] binder_cmd_register_looper { @@ -198,17 +219,17 @@ binder_cmd_exit_looper { binder_cmd_request_death { cmd const[BC_REQUEST_DEATH_NOTIFICATION, int32] - handle int32[0:4] - cookie int64[0:4] + handle binder_handle + cookie binder_cookie } [packed] binder_cmd_clear_death { cmd const[BC_CLEAR_DEATH_NOTIFICATION, int32] - handle int32[0:4] - cookie int64[0:4] + handle binder_handle + cookie binder_cookie } [packed] binder_cmd_dead_binder_done { cmd const[BC_DEAD_BINDER_DONE, int32] - cookie int64[0:4] + cookie binder_cookie } [packed] diff --git a/sys/linux/dev_binder_386.const b/sys/linux/dev_binder_386.const index b4a5d4e8e..82dbb6e06 100644 --- a/sys/linux/dev_binder_386.const +++ b/sys/linux/dev_binder_386.const @@ -17,7 +17,9 @@ BC_REQUEST_DEATH_NOTIFICATION = 1074553614 BC_TRANSACTION = 1077961472 BC_TRANSACTION_SG = 1078485777 BINDER_GET_NODE_DEBUG_INFO = 3222823435 +BINDER_GET_NODE_INFO_FOR_REF = 3222823436 BINDER_SET_CONTEXT_MGR = 1074029063 +BINDER_SET_CONTEXT_MGR_EXT = 1075339789 BINDER_SET_MAX_THREADS = 1074029061 BINDER_THREAD_EXIT = 1074029064 BINDER_TYPE_BINDER = 1935813253 @@ -29,6 +31,7 @@ BINDER_TYPE_WEAK_BINDER = 2002922117 BINDER_TYPE_WEAK_HANDLE = 2003315333 BINDER_WRITE_READ = 3224396289 FLAT_BINDER_FLAG_ACCEPTS_FDS = 256 +FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 4096 O_NONBLOCK = 2048 O_RDWR = 2 TF_ACCEPT_FDS = 16 diff --git a/sys/linux/dev_binder_amd64.const b/sys/linux/dev_binder_amd64.const index 3618bdcf5..b1fec58fc 100644 --- a/sys/linux/dev_binder_amd64.const +++ b/sys/linux/dev_binder_amd64.const @@ -17,7 +17,9 @@ BC_REQUEST_DEATH_NOTIFICATION = 1074553614 BC_TRANSACTION = 1077961472 BC_TRANSACTION_SG = 1078485777 BINDER_GET_NODE_DEBUG_INFO = 3222823435 +BINDER_GET_NODE_INFO_FOR_REF = 3222823436 BINDER_SET_CONTEXT_MGR = 1074029063 +BINDER_SET_CONTEXT_MGR_EXT = 1075339789 BINDER_SET_MAX_THREADS = 1074029061 BINDER_THREAD_EXIT = 1074029064 BINDER_TYPE_BINDER = 1935813253 @@ -29,6 +31,7 @@ BINDER_TYPE_WEAK_BINDER = 2002922117 BINDER_TYPE_WEAK_HANDLE = 2003315333 BINDER_WRITE_READ = 3224396289 FLAT_BINDER_FLAG_ACCEPTS_FDS = 256 +FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 4096 O_NONBLOCK = 2048 O_RDWR = 2 TF_ACCEPT_FDS = 16 diff --git a/sys/linux/dev_binder_arm.const b/sys/linux/dev_binder_arm.const index b4a5d4e8e..82dbb6e06 100644 --- a/sys/linux/dev_binder_arm.const +++ b/sys/linux/dev_binder_arm.const @@ -17,7 +17,9 @@ BC_REQUEST_DEATH_NOTIFICATION = 1074553614 BC_TRANSACTION = 1077961472 BC_TRANSACTION_SG = 1078485777 BINDER_GET_NODE_DEBUG_INFO = 3222823435 +BINDER_GET_NODE_INFO_FOR_REF = 3222823436 BINDER_SET_CONTEXT_MGR = 1074029063 +BINDER_SET_CONTEXT_MGR_EXT = 1075339789 BINDER_SET_MAX_THREADS = 1074029061 BINDER_THREAD_EXIT = 1074029064 BINDER_TYPE_BINDER = 1935813253 @@ -29,6 +31,7 @@ BINDER_TYPE_WEAK_BINDER = 2002922117 BINDER_TYPE_WEAK_HANDLE = 2003315333 BINDER_WRITE_READ = 3224396289 FLAT_BINDER_FLAG_ACCEPTS_FDS = 256 +FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 4096 O_NONBLOCK = 2048 O_RDWR = 2 TF_ACCEPT_FDS = 16 diff --git a/sys/linux/dev_binder_arm64.const b/sys/linux/dev_binder_arm64.const index a479b283e..76361805e 100644 --- a/sys/linux/dev_binder_arm64.const +++ b/sys/linux/dev_binder_arm64.const @@ -17,7 +17,9 @@ BC_REQUEST_DEATH_NOTIFICATION = 1074553614 BC_TRANSACTION = 1077961472 BC_TRANSACTION_SG = 1078485777 BINDER_GET_NODE_DEBUG_INFO = 3222823435 +BINDER_GET_NODE_INFO_FOR_REF = 3222823436 BINDER_SET_CONTEXT_MGR = 1074029063 +BINDER_SET_CONTEXT_MGR_EXT = 1075339789 BINDER_SET_MAX_THREADS = 1074029061 BINDER_THREAD_EXIT = 1074029064 BINDER_TYPE_BINDER = 1935813253 @@ -29,6 +31,7 @@ BINDER_TYPE_WEAK_BINDER = 2002922117 BINDER_TYPE_WEAK_HANDLE = 2003315333 BINDER_WRITE_READ = 3224396289 FLAT_BINDER_FLAG_ACCEPTS_FDS = 256 +FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 4096 O_NONBLOCK = 2048 O_RDWR = 2 TF_ACCEPT_FDS = 16 diff --git a/sys/linux/dev_binder_ppc64le.const b/sys/linux/dev_binder_ppc64le.const index 8b625c164..25b86fd34 100644 --- a/sys/linux/dev_binder_ppc64le.const +++ b/sys/linux/dev_binder_ppc64le.const @@ -17,7 +17,9 @@ BC_REQUEST_DEATH_NOTIFICATION = 2148295438 BC_TRANSACTION = 2151703296 BC_TRANSACTION_SG = 2152227601 BINDER_GET_NODE_DEBUG_INFO = 3222823435 +BINDER_GET_NODE_INFO_FOR_REF = 3222823436 BINDER_SET_CONTEXT_MGR = 2147770887 +BINDER_SET_CONTEXT_MGR_EXT = 2149081613 BINDER_SET_MAX_THREADS = 2147770885 BINDER_THREAD_EXIT = 2147770888 BINDER_TYPE_BINDER = 1935813253 @@ -29,6 +31,7 @@ BINDER_TYPE_WEAK_BINDER = 2002922117 BINDER_TYPE_WEAK_HANDLE = 2003315333 BINDER_WRITE_READ = 3224396289 FLAT_BINDER_FLAG_ACCEPTS_FDS = 256 +FLAT_BINDER_FLAG_TXN_SECURITY_CTX = 4096 O_NONBLOCK = 2048 O_RDWR = 2 TF_ACCEPT_FDS = 16 diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 6e7e52017..980fd7a0b 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -723,7 +723,7 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "binder_buffer_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_buffer_object", TypeSize: 40}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1886661253}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "length", TypeSize: 8}}, BitSize: 8, Path: []string{"buffer"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parnt", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64}, @@ -817,8 +817,16 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_strong_ref", TypeSize: 4, ArgDir: 2}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_weak_ref", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "binder_node_info_for_ref"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_info_for_ref", TypeSize: 24}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "strong_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "weak_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved3", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_object", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, + &UnionType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, &StructType{Key: StructKey{Name: "binder_fd_object"}, FldName: "fd"}, &StructType{Key: StructKey{Name: "binder_fd_array_object"}, FldName: "fda"}, &StructType{Key: StructKey{Name: "binder_buffer_object"}, FldName: "ptr"}, @@ -4505,11 +4513,37 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CHAIN, int16], int32]"}, FldName: "TCA_CHAIN"}, }}}, {Key: StructKey{Name: "flat_binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object", TypeSize: 24}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_types", FldName: "type", TypeSize: 4}}, Vals: []uint64{1935813253, 2002922117, 1936206469, 2003315333}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256}, BitMask: true}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, FldName: "binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, FldName: "weak_binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, FldName: "handle"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, FldName: "weak_handle"}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1935813253}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1936206469}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2002922117}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2003315333}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, {Key: StructKey{Name: "flock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flock", TypeSize: 16}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flock_type", FldName: "type", TypeSize: 2}}, Vals: []uint64{0, 1, 2}, BitMask: true}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "seek_whence", FldName: "whence", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4}}, @@ -31509,15 +31543,25 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222823435}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}}}, }}, + {NR: 54, Name: "ioctl$BINDER_GET_NODE_INFO_FOR_REF", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222823436}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "binder_node_info_for_ref"}}}, + }}, {NR: 54, Name: "ioctl$BINDER_SET_CONTEXT_MGR", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029063}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 4}}}, }}, + {NR: 54, Name: "ioctl$BINDER_SET_CONTEXT_MGR_EXT", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1075339789}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "flat_binder_object"}}}, + }}, {NR: 54, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029061}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "nthreads", TypeSize: 4}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, }}, {NR: 54, Name: "ioctl$BINDER_THREAD_EXIT", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, @@ -43533,7 +43577,9 @@ var consts_386 = []ConstValue{ {Name: "BC_TRANSACTION", Value: 1077961472}, {Name: "BC_TRANSACTION_SG", Value: 1078485777}, {Name: "BINDER_GET_NODE_DEBUG_INFO", Value: 3222823435}, + {Name: "BINDER_GET_NODE_INFO_FOR_REF", Value: 3222823436}, {Name: "BINDER_SET_CONTEXT_MGR", Value: 1074029063}, + {Name: "BINDER_SET_CONTEXT_MGR_EXT", Value: 1075339789}, {Name: "BINDER_SET_MAX_THREADS", Value: 1074029061}, {Name: "BINDER_THREAD_EXIT", Value: 1074029064}, {Name: "BINDER_TYPE_BINDER", Value: 1935813253}, @@ -44599,6 +44645,7 @@ var consts_386 = []ConstValue{ {Name: "FITHAW", Value: 3221510264}, {Name: "FITRIM", Value: 3222820985}, {Name: "FLAT_BINDER_FLAG_ACCEPTS_FDS", Value: 256}, + {Name: "FLAT_BINDER_FLAG_TXN_SECURITY_CTX", Value: 4096}, {Name: "FLOW_MODE_HASH", Value: 1}, {Name: "FLOW_MODE_MAP"}, {Name: "FOPEN_CACHE_DIR", Value: 8}, @@ -51018,4 +51065,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "3d52a222b87f6036a84f338de14740f34a4a74d3" +const revision_386 = "c481fc548f8495652321938cc664cda692bb3640" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 22f06feba..354be1fd1 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -724,7 +724,7 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "binder_buffer_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_buffer_object", TypeSize: 40}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1886661253}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "length", TypeSize: 8}}, BitSize: 8, Path: []string{"buffer"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parnt", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64}, @@ -818,8 +818,16 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_strong_ref", TypeSize: 4, ArgDir: 2}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_weak_ref", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "binder_node_info_for_ref"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_info_for_ref", TypeSize: 24}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "strong_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "weak_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved3", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_object", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, + &UnionType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, &StructType{Key: StructKey{Name: "binder_fd_object"}, FldName: "fd"}, &StructType{Key: StructKey{Name: "binder_fd_array_object"}, FldName: "fda"}, &StructType{Key: StructKey{Name: "binder_buffer_object"}, FldName: "ptr"}, @@ -4580,11 +4588,37 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CHAIN, int16], int32]"}, FldName: "TCA_CHAIN"}, }}}, {Key: StructKey{Name: "flat_binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object", TypeSize: 24}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_types", FldName: "type", TypeSize: 4}}, Vals: []uint64{1935813253, 2002922117, 1936206469, 2003315333}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256}, BitMask: true}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, FldName: "binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, FldName: "weak_binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, FldName: "handle"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, FldName: "weak_handle"}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1935813253}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1936206469}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2002922117}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2003315333}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, {Key: StructKey{Name: "flock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flock", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flock_type", FldName: "type", TypeSize: 2}}, Vals: []uint64{0, 1, 2}, BitMask: true}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "seek_whence", FldName: "whence", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4}}, @@ -31991,15 +32025,25 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222823435}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}}}, }}, + {NR: 16, Name: "ioctl$BINDER_GET_NODE_INFO_FOR_REF", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222823436}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_node_info_for_ref"}}}, + }}, {NR: 16, Name: "ioctl$BINDER_SET_CONTEXT_MGR", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074029063}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 8}}}, }}, + {NR: 16, Name: "ioctl$BINDER_SET_CONTEXT_MGR_EXT", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1075339789}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "flat_binder_object"}}}, + }}, {NR: 16, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074029061}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "nthreads", TypeSize: 4}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, }}, {NR: 16, Name: "ioctl$BINDER_THREAD_EXIT", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, @@ -44040,7 +44084,9 @@ var consts_amd64 = []ConstValue{ {Name: "BC_TRANSACTION", Value: 1077961472}, {Name: "BC_TRANSACTION_SG", Value: 1078485777}, {Name: "BINDER_GET_NODE_DEBUG_INFO", Value: 3222823435}, + {Name: "BINDER_GET_NODE_INFO_FOR_REF", Value: 3222823436}, {Name: "BINDER_SET_CONTEXT_MGR", Value: 1074029063}, + {Name: "BINDER_SET_CONTEXT_MGR_EXT", Value: 1075339789}, {Name: "BINDER_SET_MAX_THREADS", Value: 1074029061}, {Name: "BINDER_THREAD_EXIT", Value: 1074029064}, {Name: "BINDER_TYPE_BINDER", Value: 1935813253}, @@ -45106,6 +45152,7 @@ var consts_amd64 = []ConstValue{ {Name: "FITHAW", Value: 3221510264}, {Name: "FITRIM", Value: 3222820985}, {Name: "FLAT_BINDER_FLAG_ACCEPTS_FDS", Value: 256}, + {Name: "FLAT_BINDER_FLAG_TXN_SECURITY_CTX", Value: 4096}, {Name: "FLOW_MODE_HASH", Value: 1}, {Name: "FLOW_MODE_MAP"}, {Name: "FOPEN_CACHE_DIR", Value: 8}, @@ -51540,4 +51587,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "1e8b2cbaae600fa5e394e2174cddf8ccf7041300" +const revision_amd64 = "c3ca596ec5a418716e3ed1df1d9f03f6614fb8c9" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 6f7d9f71c..162870c3b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -721,7 +721,7 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "binder_buffer_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_buffer_object", TypeSize: 40}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1886661253}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "length", TypeSize: 8}}, BitSize: 8, Path: []string{"buffer"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parnt", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64}, @@ -815,8 +815,16 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_strong_ref", TypeSize: 4, ArgDir: 2}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_weak_ref", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "binder_node_info_for_ref"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_info_for_ref", TypeSize: 24}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "strong_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "weak_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved3", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_object", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, + &UnionType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, &StructType{Key: StructKey{Name: "binder_fd_object"}, FldName: "fd"}, &StructType{Key: StructKey{Name: "binder_fd_array_object"}, FldName: "fda"}, &StructType{Key: StructKey{Name: "binder_buffer_object"}, FldName: "ptr"}, @@ -4503,11 +4511,37 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CHAIN, int16], int32]"}, FldName: "TCA_CHAIN"}, }}}, {Key: StructKey{Name: "flat_binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object", TypeSize: 24}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_types", FldName: "type", TypeSize: 4}}, Vals: []uint64{1935813253, 2002922117, 1936206469, 2003315333}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256}, BitMask: true}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, FldName: "binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, FldName: "weak_binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, FldName: "handle"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, FldName: "weak_handle"}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1935813253}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1936206469}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2002922117}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2003315333}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, {Key: StructKey{Name: "flock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flock", TypeSize: 16}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flock_type", FldName: "type", TypeSize: 2}}, Vals: []uint64{0, 1, 2}, BitMask: true}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "seek_whence", FldName: "whence", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4}}, @@ -31246,15 +31280,25 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222823435}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}}}, }}, + {NR: 54, Name: "ioctl$BINDER_GET_NODE_INFO_FOR_REF", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222823436}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "binder_node_info_for_ref"}}}, + }}, {NR: 54, Name: "ioctl$BINDER_SET_CONTEXT_MGR", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029063}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 4}}}, }}, + {NR: 54, Name: "ioctl$BINDER_SET_CONTEXT_MGR_EXT", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1075339789}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "flat_binder_object"}}}, + }}, {NR: 54, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029061}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "nthreads", TypeSize: 4}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, }}, {NR: 54, Name: "ioctl$BINDER_THREAD_EXIT", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, @@ -43089,7 +43133,9 @@ var consts_arm = []ConstValue{ {Name: "BC_TRANSACTION", Value: 1077961472}, {Name: "BC_TRANSACTION_SG", Value: 1078485777}, {Name: "BINDER_GET_NODE_DEBUG_INFO", Value: 3222823435}, + {Name: "BINDER_GET_NODE_INFO_FOR_REF", Value: 3222823436}, {Name: "BINDER_SET_CONTEXT_MGR", Value: 1074029063}, + {Name: "BINDER_SET_CONTEXT_MGR_EXT", Value: 1075339789}, {Name: "BINDER_SET_MAX_THREADS", Value: 1074029061}, {Name: "BINDER_THREAD_EXIT", Value: 1074029064}, {Name: "BINDER_TYPE_BINDER", Value: 1935813253}, @@ -44155,6 +44201,7 @@ var consts_arm = []ConstValue{ {Name: "FITHAW", Value: 3221510264}, {Name: "FITRIM", Value: 3222820985}, {Name: "FLAT_BINDER_FLAG_ACCEPTS_FDS", Value: 256}, + {Name: "FLAT_BINDER_FLAG_TXN_SECURITY_CTX", Value: 4096}, {Name: "FLOW_MODE_HASH", Value: 1}, {Name: "FLOW_MODE_MAP"}, {Name: "FOPEN_CACHE_DIR", Value: 8}, @@ -50505,4 +50552,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "4a47ba2821cf130ddc502d985baaad7845663453" +const revision_arm = "755e72f507bfba544c5361f262fc77fb932a5e2d" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 2c620950f..9b50ff104 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -722,7 +722,7 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "binder_buffer_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_buffer_object", TypeSize: 40}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1886661253}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "length", TypeSize: 8}}, BitSize: 8, Path: []string{"buffer"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parnt", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64}, @@ -816,8 +816,16 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_strong_ref", TypeSize: 4, ArgDir: 2}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_weak_ref", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "binder_node_info_for_ref"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_info_for_ref", TypeSize: 24}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "strong_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "weak_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved3", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_object", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, + &UnionType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, &StructType{Key: StructKey{Name: "binder_fd_object"}, FldName: "fd"}, &StructType{Key: StructKey{Name: "binder_fd_array_object"}, FldName: "fda"}, &StructType{Key: StructKey{Name: "binder_buffer_object"}, FldName: "ptr"}, @@ -4578,11 +4586,37 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CHAIN, int16], int32]"}, FldName: "TCA_CHAIN"}, }}}, {Key: StructKey{Name: "flat_binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object", TypeSize: 24}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_types", FldName: "type", TypeSize: 4}}, Vals: []uint64{1935813253, 2002922117, 1936206469, 2003315333}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256}, BitMask: true}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, FldName: "binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, FldName: "weak_binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, FldName: "handle"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, FldName: "weak_handle"}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1935813253}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1936206469}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2002922117}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2003315333}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, {Key: StructKey{Name: "flock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flock", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flock_type", FldName: "type", TypeSize: 2}}, Vals: []uint64{0, 1, 2}, BitMask: true}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "seek_whence", FldName: "whence", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4}}, @@ -31631,15 +31665,25 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222823435}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}}}, }}, + {NR: 29, Name: "ioctl$BINDER_GET_NODE_INFO_FOR_REF", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222823436}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_node_info_for_ref"}}}, + }}, {NR: 29, Name: "ioctl$BINDER_SET_CONTEXT_MGR", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074029063}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 8}}}, }}, + {NR: 29, Name: "ioctl$BINDER_SET_CONTEXT_MGR_EXT", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1075339789}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "flat_binder_object"}}}, + }}, {NR: 29, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074029061}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "nthreads", TypeSize: 4}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, }}, {NR: 29, Name: "ioctl$BINDER_THREAD_EXIT", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, @@ -43402,7 +43446,9 @@ var consts_arm64 = []ConstValue{ {Name: "BC_TRANSACTION", Value: 1077961472}, {Name: "BC_TRANSACTION_SG", Value: 1078485777}, {Name: "BINDER_GET_NODE_DEBUG_INFO", Value: 3222823435}, + {Name: "BINDER_GET_NODE_INFO_FOR_REF", Value: 3222823436}, {Name: "BINDER_SET_CONTEXT_MGR", Value: 1074029063}, + {Name: "BINDER_SET_CONTEXT_MGR_EXT", Value: 1075339789}, {Name: "BINDER_SET_MAX_THREADS", Value: 1074029061}, {Name: "BINDER_THREAD_EXIT", Value: 1074029064}, {Name: "BINDER_TYPE_BINDER", Value: 1935813253}, @@ -44468,6 +44514,7 @@ var consts_arm64 = []ConstValue{ {Name: "FITHAW", Value: 3221510264}, {Name: "FITRIM", Value: 3222820985}, {Name: "FLAT_BINDER_FLAG_ACCEPTS_FDS", Value: 256}, + {Name: "FLAT_BINDER_FLAG_TXN_SECURITY_CTX", Value: 4096}, {Name: "FLOW_MODE_HASH", Value: 1}, {Name: "FLOW_MODE_MAP"}, {Name: "FOPEN_CACHE_DIR", Value: 8}, @@ -50800,4 +50847,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "dff930cd81891aa2da786dab8783efe0de057abb" +const revision_arm64 = "ac163f5b11f81bf7691ef0b1f6e6be60c286f750" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 1e35697b0..a1b82a3cf 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -721,7 +721,7 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "binder_buffer_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_buffer_object", TypeSize: 40}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1886661253}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}, Kind: 2, RangeEnd: 1}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "length", TypeSize: 8}}, BitSize: 8, Path: []string{"buffer"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parnt", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64}, @@ -815,8 +815,16 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_strong_ref", TypeSize: 4, ArgDir: 2}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "has_weak_ref", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "binder_node_info_for_ref"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_info_for_ref", TypeSize: 24}, Fields: []Type{ + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "strong_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "weak_count", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved3", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_object", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, + &UnionType{Key: StructKey{Name: "flat_binder_object"}, FldName: "flat"}, &StructType{Key: StructKey{Name: "binder_fd_object"}, FldName: "fd"}, &StructType{Key: StructKey{Name: "binder_fd_array_object"}, FldName: "fda"}, &StructType{Key: StructKey{Name: "binder_buffer_object"}, FldName: "ptr"}, @@ -4577,11 +4585,37 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_CHAIN, int16], int32]"}, FldName: "TCA_CHAIN"}, }}}, {Key: StructKey{Name: "flat_binder_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object", TypeSize: 24}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_types", FldName: "type", TypeSize: 4}}, Vals: []uint64{1935813253, 2002922117, 1936206469, 2003315333}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256}, BitMask: true}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, FldName: "binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, FldName: "weak_binder"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, FldName: "handle"}, + &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, FldName: "weak_handle"}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1935813253}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1936206469}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_ptr]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2002922117}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "binder", TypeSize: 8}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, }}}, + {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]", TypeSize: 24}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2003315333}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_flat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 10, 256, 4096}, BitMask: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 4}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4}, + }}}, {Key: StructKey{Name: "flock"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flock", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "flock_type", FldName: "type", TypeSize: 2}}, Vals: []uint64{0, 1, 2}, BitMask: true}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "seek_whence", FldName: "whence", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 3, 4}}, @@ -31572,15 +31606,25 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222823435}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}}}, }}, + {NR: 54, Name: "ioctl$BINDER_GET_NODE_INFO_FOR_REF", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222823436}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_node_info_for_ref"}}}, + }}, {NR: 54, Name: "ioctl$BINDER_SET_CONTEXT_MGR", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2147770887}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 8}}}, }}, + {NR: 54, Name: "ioctl$BINDER_SET_CONTEXT_MGR_EXT", CallName: "ioctl", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2149081613}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "flat_binder_object"}}}, + }}, {NR: 54, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2147770885}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "nthreads", TypeSize: 4}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}}, }}, {NR: 54, Name: "ioctl$BINDER_THREAD_EXIT", CallName: "ioctl", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, @@ -43396,7 +43440,9 @@ var consts_ppc64le = []ConstValue{ {Name: "BC_TRANSACTION", Value: 2151703296}, {Name: "BC_TRANSACTION_SG", Value: 2152227601}, {Name: "BINDER_GET_NODE_DEBUG_INFO", Value: 3222823435}, + {Name: "BINDER_GET_NODE_INFO_FOR_REF", Value: 3222823436}, {Name: "BINDER_SET_CONTEXT_MGR", Value: 2147770887}, + {Name: "BINDER_SET_CONTEXT_MGR_EXT", Value: 2149081613}, {Name: "BINDER_SET_MAX_THREADS", Value: 2147770885}, {Name: "BINDER_THREAD_EXIT", Value: 2147770888}, {Name: "BINDER_TYPE_BINDER", Value: 1935813253}, @@ -44462,6 +44508,7 @@ var consts_ppc64le = []ConstValue{ {Name: "FITHAW", Value: 3221510264}, {Name: "FITRIM", Value: 3222820985}, {Name: "FLAT_BINDER_FLAG_ACCEPTS_FDS", Value: 256}, + {Name: "FLAT_BINDER_FLAG_TXN_SECURITY_CTX", Value: 4096}, {Name: "FLOW_MODE_HASH", Value: 1}, {Name: "FLOW_MODE_MAP"}, {Name: "FOPEN_CACHE_DIR", Value: 8}, @@ -50767,4 +50814,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "0f540c7bfaa1f375f0b49062ef69700e13a1aa94" +const revision_ppc64le = "c9b32a0e01f79a400b0dde6e9094c8bde5adc209" -- cgit mrf-deployment