aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-05-14 19:18:17 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-05-14 19:28:01 +0200
commit2e6300854a5f61abb99404d2fbbc9b9a419694a3 (patch)
tree9c29da9e41cef7d91acc9669eef6078fcbb87676
parentc1caccc8334f39ba2bcae1dfe78e65c474af0160 (diff)
sys/linux: improve binder descriptions
Add few new ioctl's. Add some typedefs for clarity.
-rw-r--r--executor/defs.h10
-rw-r--r--executor/syscalls.h10
-rw-r--r--sys/linux/dev_binder.txt59
-rw-r--r--sys/linux/dev_binder_386.const3
-rw-r--r--sys/linux/dev_binder_amd64.const3
-rw-r--r--sys/linux/dev_binder_arm.const3
-rw-r--r--sys/linux/dev_binder_arm64.const3
-rw-r--r--sys/linux/dev_binder_ppc64le.const3
-rw-r--r--sys/linux/gen/386.go59
-rw-r--r--sys/linux/gen/amd64.go59
-rw-r--r--sys/linux/gen/arm.go59
-rw-r--r--sys/linux/gen/arm64.go59
-rw-r--r--sys/linux/gen/ppc64le.go59
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 <linux/fcntl.h>
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"