aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-05-17 11:55:48 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-05-17 11:56:54 +0200
commit95dfd515a0c71707f8d3505bda1bbeca40a679f0 (patch)
tree5f1377563f11c650580159dc04db840222ebdc28 /sys/linux
parent2755003a3478210957df2c52a49485db50773537 (diff)
sys/linux: improve binder descriptions
Refine some consts to increase changes of correct programs. Fix some types. Add comments and a test.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/dev_binder.txt53
-rw-r--r--sys/linux/gen/386.go80
-rw-r--r--sys/linux/gen/amd64.go80
-rw-r--r--sys/linux/gen/arm.go80
-rw-r--r--sys/linux/gen/arm64.go80
-rw-r--r--sys/linux/gen/ppc64le.go80
-rw-r--r--sys/linux/test/binder6
7 files changed, 230 insertions, 229 deletions
diff --git a/sys/linux/dev_binder.txt b/sys/linux/dev_binder.txt
index e2748dcd8..df9423505 100644
--- a/sys/linux/dev_binder.txt
+++ b/sys/linux/dev_binder.txt
@@ -11,16 +11,19 @@ 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]
+# What's the difference between these node and handle? Do they mean the same?
+type binder_node int64[0:3]
+type binder_handle int32[0:3]
+# It seems that cookies are only checked for inequality and non-matching cookies only cover error paths.
+type binder_cookie const[0, int64]
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
+mmap$binder(addr vma, len len[addr], prot const[PROT_READ], flags const[MAP_SHARED], fd fd_binder, offset fileoff) binder_ptr
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_SET_CONTEXT_MGR_EXT(fd fd_binder, cmd const[BINDER_SET_CONTEXT_MGR_EXT], arg ptr[in, flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]])
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])
@@ -30,7 +33,7 @@ binder_open_flags = O_RDWR, O_NONBLOCK
_ = __NR_mmap2
binder_node_debug_info {
- ptr binder_ptr
+ ptr binder_node
cookie const[0, int64]
has_strong_ref const[0, int32]
has_weak_ref const[0, int32]
@@ -85,15 +88,20 @@ binder_cmd_reply {
} [packed]
binder_cmd_transaction_sg {
- cmd const[BC_TRANSACTION_SG, int32]
- data binder_transaction_data_sg
+ cmd const[BC_TRANSACTION_SG, int32]
+ data binder_transaction_data
+ buffers_size flags[binder_sg_size, int64]
} [packed]
binder_cmd_reply_sg {
- cmd const[BC_REPLY_SG, int32]
- data binder_transaction_data_sg
+ cmd const[BC_REPLY_SG, int32]
+ data binder_transaction_data
+ buffers_size flags[binder_sg_size, int64]
} [packed]
+# NEED: buffers_size should be multiple of 8 and must be no less than size of all BINDER_TYPE_PTR buffers.
+binder_sg_size = 0, 64, 1024, 4096
+
binder_transaction_data {
handle binder_handle
# there is a union of handle with binder_uintptr_t
@@ -121,12 +129,6 @@ binder_offsets {
off2 offsetof[binder_transaction_data:buffer:obj2, int64]
}
-binder_transaction_data_sg {
- trx binder_transaction_data
-# NEED: buffers_size should be multiple of 8.
- buffers_size int64
-} [packed]
-
binder_transaction_flags = TF_ONE_WAY, TF_ACCEPT_FDS
binder_object [
@@ -137,8 +139,8 @@ binder_object [
] [varlen]
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]
+ binder flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]
+ weak_binder flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]
handle flat_binder_object_t[BINDER_TYPE_HANDLE, binder_handle]
weak_handle flat_binder_object_t[BINDER_TYPE_WEAK_HANDLE, binder_handle]
]
@@ -169,9 +171,12 @@ binder_fd_array_object {
binder_buffer_object {
type const[BINDER_TYPE_PTR, int32]
+# This is BINDER_BUFFER_FLAG_HAS_PARENT.
flags bool32
- buffer ptr64[in, array[int8]]
+# The buffer is actually input, but the data is opaque.
+ buffer ptr64[out, array[int8]]
length bytesize[buffer, int64]
+# If flags == BINDER_BUFFER_FLAG_HAS_PARENT, this must point to another BINDER_TYPE_PTR object.
parnt int64[0:2]
parent_offset int64[0:64]
}
@@ -183,33 +188,33 @@ binder_cmd_free_buffer {
binder_cmd_increfs {
cmd const[BC_INCREFS, int32]
- ref int32[0:4]
+ ref binder_handle
} [packed]
binder_cmd_acquire {
cmd const[BC_ACQUIRE, int32]
- ref int32[0:4]
+ ref binder_handle
} [packed]
binder_cmd_release {
cmd const[BC_RELEASE, int32]
- ref int32[0:4]
+ ref binder_handle
} [packed]
binder_cmd_decrefs {
cmd const[BC_DECREFS, int32]
- ref int32[0:4]
+ ref binder_handle
} [packed]
binder_cmd_increfs_done {
cmd const[BC_INCREFS_DONE, int32]
- ptr binder_ptr
+ ptr binder_node
cookie binder_cookie
} [packed]
binder_cmd_acquire_done {
cmd const[BC_ACQUIRE_DONE, int32]
- ptr binder_ptr
+ ptr binder_node
cookie binder_cookie
} [packed]
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index 5a2a16d58..53c0db4b9 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -724,32 +724,32 @@ 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: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, 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: 2},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64},
}}},
{Key: StructKey{Name: "binder_cmd_acquire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029317},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_acquire_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815753},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_clear_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_clear_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553615},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_dead_binder_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_dead_binder_done", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074291472},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_decrefs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_decrefs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029319},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_enter_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_enter_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25356},
@@ -763,19 +763,19 @@ var structDescs_386 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_increfs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029316},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_increfs_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815752},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_register_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_register_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25355},
}}},
{Key: StructKey{Name: "binder_cmd_release"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_release", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029318},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_reply"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961473},
@@ -783,12 +783,13 @@ var structDescs_386 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_reply_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485778},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_cmd_request_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_request_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553614},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_transaction"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961472},
@@ -796,7 +797,8 @@ var structDescs_386 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_transaction_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485777},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_fd_array_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_fd_array_object", TypeSize: 32}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1717854597},
@@ -810,16 +812,16 @@ var structDescs_386 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad2", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_debug_info", TypeSize: 24, ArgDir: 2}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8, ArgDir: 2}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8, ArgDir: 2}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8, ArgDir: 2}}},
&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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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}}},
@@ -843,9 +845,9 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "offsetof", FldName: "off2", TypeSize: 8}}, BitSize: 8, Offset: true, Path: []string{"binder_transaction_data", "buffer", "obj2"}},
}}},
{Key: StructKey{Name: "binder_transaction_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data", TypeSize: 64}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 4}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_transaction_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 16}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sender_pid", TypeSize: 4}}},
@@ -855,10 +857,6 @@ var structDescs_386 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_objects"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "offsets", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_offsets"}}},
}}},
- {Key: StructKey{Name: "binder_transaction_data_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data_sg", TypeSize: 72}, Fields: []Type{
- &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "trx"},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "buffers_size", TypeSize: 8}}},
- }}},
{Key: StructKey{Name: "binder_write_cmd"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_write_cmd", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "binder_cmd_transaction"}, FldName: "transaction"},
&StructType{Key: StructKey{Name: "binder_cmd_reply"}, FldName: "reply"},
@@ -4547,36 +4545,36 @@ 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{
- &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_BINDER, binder_node]"}, FldName: "binder"},
+ &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, 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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
- {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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
@@ -31590,7 +31588,7 @@ var syscalls_386 = []*Syscall{
{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"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}}},
}},
{NR: 54, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
@@ -36953,8 +36951,8 @@ var syscalls_386 = []*Syscall{
{NR: 192, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prot", TypeSize: 4}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 4}}, Val: 1},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}},
@@ -51099,4 +51097,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "9e0791cb47ca383c00ce30af7d22d82a9e577ecb"
+const revision_386 = "a9923073ced74fe65f1693b75e5dedcc022d71f9"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 873968d66..927a7b612 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -725,32 +725,32 @@ 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: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, 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: 2},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64},
}}},
{Key: StructKey{Name: "binder_cmd_acquire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029317},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_acquire_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815753},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_clear_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_clear_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553615},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_dead_binder_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_dead_binder_done", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074291472},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_decrefs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_decrefs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029319},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_enter_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_enter_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25356},
@@ -764,19 +764,19 @@ var structDescs_amd64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_increfs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029316},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_increfs_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815752},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_register_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_register_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25355},
}}},
{Key: StructKey{Name: "binder_cmd_release"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_release", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029318},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_reply"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961473},
@@ -784,12 +784,13 @@ var structDescs_amd64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_reply_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485778},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_cmd_request_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_request_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553614},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_transaction"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961472},
@@ -797,7 +798,8 @@ var structDescs_amd64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_transaction_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485777},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_fd_array_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_fd_array_object", TypeSize: 32}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1717854597},
@@ -811,16 +813,16 @@ var structDescs_amd64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad2", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_debug_info", TypeSize: 24, ArgDir: 2}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8, ArgDir: 2}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8, ArgDir: 2}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8, ArgDir: 2}}},
&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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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}}},
@@ -844,9 +846,9 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "offsetof", FldName: "off2", TypeSize: 8}}, BitSize: 8, Offset: true, Path: []string{"binder_transaction_data", "buffer", "obj2"}},
}}},
{Key: StructKey{Name: "binder_transaction_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data", TypeSize: 64}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 4}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_transaction_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 16}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sender_pid", TypeSize: 4}}},
@@ -856,10 +858,6 @@ var structDescs_amd64 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_objects"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "offsets", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_offsets"}}},
}}},
- {Key: StructKey{Name: "binder_transaction_data_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data_sg", TypeSize: 72}, Fields: []Type{
- &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "trx"},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "buffers_size", TypeSize: 8}}},
- }}},
{Key: StructKey{Name: "binder_write_cmd"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_write_cmd", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "binder_cmd_transaction"}, FldName: "transaction"},
&StructType{Key: StructKey{Name: "binder_cmd_reply"}, FldName: "reply"},
@@ -4622,36 +4620,36 @@ 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{
- &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_BINDER, binder_node]"}, FldName: "binder"},
+ &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, 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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
- {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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
@@ -32072,7 +32070,7 @@ var syscalls_amd64 = []*Syscall{
{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"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}}},
}},
{NR: 16, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
@@ -37455,8 +37453,8 @@ var syscalls_amd64 = []*Syscall{
{NR: 9, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prot", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 8}}, Val: 1},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}},
@@ -51621,4 +51619,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "cd2eb4279d86159e17ba9b36839db09b8b26b274"
+const revision_amd64 = "d5eddd1c0de412cf0e6a9c907193d4b289f39cfe"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 90e4aba38..11594d2e4 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -722,32 +722,32 @@ 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: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, 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: 2},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64},
}}},
{Key: StructKey{Name: "binder_cmd_acquire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029317},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_acquire_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815753},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_clear_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_clear_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553615},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_dead_binder_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_dead_binder_done", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074291472},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_decrefs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_decrefs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029319},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_enter_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_enter_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25356},
@@ -761,19 +761,19 @@ var structDescs_arm = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_increfs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029316},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_increfs_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815752},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_register_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_register_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25355},
}}},
{Key: StructKey{Name: "binder_cmd_release"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_release", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029318},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_reply"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961473},
@@ -781,12 +781,13 @@ var structDescs_arm = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_reply_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485778},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_cmd_request_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_request_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553614},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_transaction"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961472},
@@ -794,7 +795,8 @@ var structDescs_arm = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_transaction_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485777},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_fd_array_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_fd_array_object", TypeSize: 32}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1717854597},
@@ -808,16 +810,16 @@ var structDescs_arm = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad2", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_debug_info", TypeSize: 24, ArgDir: 2}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8, ArgDir: 2}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8, ArgDir: 2}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8, ArgDir: 2}}},
&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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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}}},
@@ -841,9 +843,9 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "offsetof", FldName: "off2", TypeSize: 8}}, BitSize: 8, Offset: true, Path: []string{"binder_transaction_data", "buffer", "obj2"}},
}}},
{Key: StructKey{Name: "binder_transaction_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data", TypeSize: 64}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 4}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_transaction_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 16}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sender_pid", TypeSize: 4}}},
@@ -853,10 +855,6 @@ var structDescs_arm = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_objects"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "offsets", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_offsets"}}},
}}},
- {Key: StructKey{Name: "binder_transaction_data_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data_sg", TypeSize: 72}, Fields: []Type{
- &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "trx"},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "buffers_size", TypeSize: 8}}},
- }}},
{Key: StructKey{Name: "binder_write_cmd"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_write_cmd", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "binder_cmd_transaction"}, FldName: "transaction"},
&StructType{Key: StructKey{Name: "binder_cmd_reply"}, FldName: "reply"},
@@ -4545,36 +4543,36 @@ 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{
- &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_BINDER, binder_node]"}, FldName: "binder"},
+ &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, 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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
- {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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
@@ -31327,7 +31325,7 @@ var syscalls_arm = []*Syscall{
{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"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}}},
}},
{NR: 54, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
@@ -36562,8 +36560,8 @@ var syscalls_arm = []*Syscall{
{NR: 192, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prot", TypeSize: 4}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 4}}, Val: 1},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}},
@@ -50586,4 +50584,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "7d053eac58a9358cfe0b7b3c851aa83c846a6af0"
+const revision_arm = "b944a5e8b7f1b5be708c71b1ed79703601482e3c"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index ba3add397..ca14ac76e 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -723,32 +723,32 @@ 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: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, 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: 2},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64},
}}},
{Key: StructKey{Name: "binder_cmd_acquire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029317},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_acquire_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815753},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_clear_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_clear_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553615},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_dead_binder_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_dead_binder_done", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074291472},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_decrefs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_decrefs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029319},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_enter_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_enter_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25356},
@@ -762,19 +762,19 @@ var structDescs_arm64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_increfs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029316},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_increfs_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074815752},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_register_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_register_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 25355},
}}},
{Key: StructKey{Name: "binder_cmd_release"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_release", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074029318},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_reply"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961473},
@@ -782,12 +782,13 @@ var structDescs_arm64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_reply_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485778},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_cmd_request_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_request_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074553614},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_transaction"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1077961472},
@@ -795,7 +796,8 @@ var structDescs_arm64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_transaction_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1078485777},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_fd_array_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_fd_array_object", TypeSize: 32}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1717854597},
@@ -809,16 +811,16 @@ var structDescs_arm64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad2", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_debug_info", TypeSize: 24, ArgDir: 2}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8, ArgDir: 2}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8, ArgDir: 2}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8, ArgDir: 2}}},
&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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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}}},
@@ -842,9 +844,9 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "offsetof", FldName: "off2", TypeSize: 8}}, BitSize: 8, Offset: true, Path: []string{"binder_transaction_data", "buffer", "obj2"}},
}}},
{Key: StructKey{Name: "binder_transaction_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data", TypeSize: 64}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 4}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_transaction_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 16}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sender_pid", TypeSize: 4}}},
@@ -854,10 +856,6 @@ var structDescs_arm64 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_objects"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "offsets", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_offsets"}}},
}}},
- {Key: StructKey{Name: "binder_transaction_data_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data_sg", TypeSize: 72}, Fields: []Type{
- &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "trx"},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "buffers_size", TypeSize: 8}}},
- }}},
{Key: StructKey{Name: "binder_write_cmd"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_write_cmd", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "binder_cmd_transaction"}, FldName: "transaction"},
&StructType{Key: StructKey{Name: "binder_cmd_reply"}, FldName: "reply"},
@@ -4620,36 +4618,36 @@ 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{
- &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_BINDER, binder_node]"}, FldName: "binder"},
+ &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, 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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
- {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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
@@ -31712,7 +31710,7 @@ var syscalls_arm64 = []*Syscall{
{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"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}}},
}},
{NR: 29, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
@@ -36945,8 +36943,8 @@ var syscalls_arm64 = []*Syscall{
{NR: 222, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prot", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 8}}, Val: 1},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}},
@@ -50881,4 +50879,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "9dcef55b76a549a6030e2bee954532c4026cf9d6"
+const revision_arm64 = "73c90bce519e4ba84dc96c1d473f5bfad1b0e6b2"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index f074478dd..e08779dfa 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -722,32 +722,32 @@ 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: &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, 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: 2},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "parent_offset", TypeSize: 8}}, Kind: 2, RangeEnd: 64},
}}},
{Key: StructKey{Name: "binder_cmd_acquire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2147771141},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_acquire_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_acquire_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2148557577},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_clear_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_clear_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2148295439},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_dead_binder_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_dead_binder_done", TypeSize: 12}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2148033296},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_decrefs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_decrefs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2147771143},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_enter_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_enter_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 536896268},
@@ -761,19 +761,19 @@ var structDescs_ppc64le = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_increfs"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2147771140},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_increfs_done"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_increfs_done", TypeSize: 20}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2148557576},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_register_looper"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_register_looper", TypeSize: 4}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 536896267},
}}},
{Key: StructKey{Name: "binder_cmd_release"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_release", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2147771142},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ref", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
}}},
{Key: StructKey{Name: "binder_cmd_reply"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2151703297},
@@ -781,12 +781,13 @@ var structDescs_ppc64le = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_reply_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_reply_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2152227602},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_cmd_request_death"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_request_death", TypeSize: 16}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2148295438},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_cmd_transaction"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction", TypeSize: 68}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2151703296},
@@ -794,7 +795,8 @@ var structDescs_ppc64le = []*KeyedStruct{
}}},
{Key: StructKey{Name: "binder_cmd_transaction_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_cmd_transaction_sg", TypeSize: 76}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 2152227601},
- &StructType{Key: StructKey{Name: "binder_transaction_data_sg"}, FldName: "data"},
+ &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "data"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_sg_size", FldName: "buffers_size", TypeSize: 8}}, Vals: []uint64{0, 64, 1024, 4096}, BitMask: true},
}}},
{Key: StructKey{Name: "binder_fd_array_object"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_fd_array_object", TypeSize: 32}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1717854597},
@@ -808,16 +810,16 @@ var structDescs_ppc64le = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad2", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{Key: StructKey{Name: "binder_node_debug_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_node_debug_info", TypeSize: 24, ArgDir: 2}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ptr", TypeSize: 8, ArgDir: 2}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "ptr", TypeSize: 8, ArgDir: 2}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8, ArgDir: 2}}},
&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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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}}},
@@ -841,9 +843,9 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "offsetof", FldName: "off2", TypeSize: 8}}, BitSize: 8, Offset: true, Path: []string{"binder_transaction_data", "buffer", "obj2"}},
}}},
{Key: StructKey{Name: "binder_transaction_data"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data", TypeSize: 64}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 4}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "cookie", TypeSize: 8}}, Kind: 2, RangeEnd: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 4}}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "binder_transaction_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 16}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sender_pid", TypeSize: 4}}},
@@ -853,10 +855,6 @@ var structDescs_ppc64le = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "buffer", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_objects"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "offsets", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binder_offsets"}}},
}}},
- {Key: StructKey{Name: "binder_transaction_data_sg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_transaction_data_sg", TypeSize: 72}, Fields: []Type{
- &StructType{Key: StructKey{Name: "binder_transaction_data"}, FldName: "trx"},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "buffers_size", TypeSize: 8}}},
- }}},
{Key: StructKey{Name: "binder_write_cmd"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "binder_write_cmd", IsVarlen: true}, Fields: []Type{
&StructType{Key: StructKey{Name: "binder_cmd_transaction"}, FldName: "transaction"},
&StructType{Key: StructKey{Name: "binder_cmd_reply"}, FldName: "reply"},
@@ -4619,36 +4617,36 @@ 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{
- &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_BINDER, binder_node]"}, FldName: "binder"},
+ &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, 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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
- {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{
+ {Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "flat_binder_object_t[BINDER_TYPE_WEAK_BINDER, binder_node]", 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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "binder", TypeSize: 8}}, Kind: 2, RangeEnd: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "binder", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
&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},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cookie", TypeSize: 8}}},
}}},
{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},
@@ -31653,7 +31651,7 @@ var syscalls_ppc64le = []*Syscall{
{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"}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "flat_binder_object_t[BINDER_TYPE_BINDER, binder_node]"}}},
}},
{NR: 54, Name: "ioctl$BINDER_SET_MAX_THREADS", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
@@ -36846,8 +36844,8 @@ var syscalls_ppc64le = []*Syscall{
{NR: 90, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 128, 65536, 64, 32768, 131072, 0, 3, 0, 1048576}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prot", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 8}}, Val: 1},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}},
@@ -50848,4 +50846,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "73abae86d3eb155f7ca4a5d586216fa41b11e505"
+const revision_ppc64le = "2cc0b2b4af5c720a074c85161215a3b5977d3e84"
diff --git a/sys/linux/test/binder b/sys/linux/test/binder
new file mode 100644
index 000000000..18f1aece7
--- /dev/null
+++ b/sys/linux/test/binder
@@ -0,0 +1,6 @@
+r0 = syz_open_dev$binder(&AUTO='/dev/binder#\x00', 0x0, 0x2)
+ioctl$BINDER_SET_CONTEXT_MGR_EXT(r0, AUTO, &AUTO={AUTO, 0x100, 0x0, 0x0})
+mmap$binder(&(0x7f00000a0000), 0x2000, 0x1, 0x11, r0, 0x0)
+r1 = syz_open_dev$binder(&AUTO='/dev/binder#\x00', 0x0, 0x2)
+mmap$binder(&(0x7f00000c0000), 0x2000, 0x1, 0x11, r1, 0x0)
+ioctl$BINDER_WRITE_READ(r1, AUTO, &AUTO={AUTO, AUTO, &AUTO=[@transaction_sg={AUTO, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, AUTO, AUTO, &AUTO={@flat=@binder={AUTO, 0x0, 0x0, 0x0}, @fd={AUTO, AUTO, r0, AUTO, 0x0}, @ptr={AUTO, 0x0, &AUTO=""/10, AUTO, 0x0, 0x0}}, &AUTO={AUTO, AUTO, AUTO}}, 0x10}], AUTO, AUTO, &AUTO})