diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-05-17 11:55:48 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-05-17 11:56:54 +0200 |
| commit | 95dfd515a0c71707f8d3505bda1bbeca40a679f0 (patch) | |
| tree | 5f1377563f11c650580159dc04db840222ebdc28 | |
| parent | 2755003a3478210957df2c52a49485db50773537 (diff) | |
sys/linux: improve binder descriptions
Refine some consts to increase changes of correct programs.
Fix some types. Add comments and a test.
| -rw-r--r-- | executor/defs.h | 10 | ||||
| -rw-r--r-- | sys/linux/dev_binder.txt | 53 | ||||
| -rw-r--r-- | sys/linux/gen/386.go | 80 | ||||
| -rw-r--r-- | sys/linux/gen/amd64.go | 80 | ||||
| -rw-r--r-- | sys/linux/gen/arm.go | 80 | ||||
| -rw-r--r-- | sys/linux/gen/arm64.go | 80 | ||||
| -rw-r--r-- | sys/linux/gen/ppc64le.go | 80 | ||||
| -rw-r--r-- | sys/linux/test/binder | 6 |
8 files changed, 235 insertions, 234 deletions
diff --git a/executor/defs.h b/executor/defs.h index 09fa51d2e..31f1c8137 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -60,7 +60,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "9e0791cb47ca383c00ce30af7d22d82a9e577ecb" +#define SYZ_REVISION "a9923073ced74fe65f1693b75e5dedcc022d71f9" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -70,7 +70,7 @@ #if GOARCH_amd64 #define GOARCH "amd64" -#define SYZ_REVISION "cd2eb4279d86159e17ba9b36839db09b8b26b274" +#define SYZ_REVISION "d5eddd1c0de412cf0e6a9c907193d4b289f39cfe" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -80,7 +80,7 @@ #if GOARCH_arm #define GOARCH "arm" -#define SYZ_REVISION "7d053eac58a9358cfe0b7b3c851aa83c846a6af0" +#define SYZ_REVISION "b944a5e8b7f1b5be708c71b1ed79703601482e3c" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -90,7 +90,7 @@ #if GOARCH_arm64 #define GOARCH "arm64" -#define SYZ_REVISION "9dcef55b76a549a6030e2bee954532c4026cf9d6" +#define SYZ_REVISION "73c90bce519e4ba84dc96c1d473f5bfad1b0e6b2" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -100,7 +100,7 @@ #if GOARCH_ppc64le #define GOARCH "ppc64le" -#define SYZ_REVISION "73abae86d3eb155f7ca4a5d586216fa41b11e505" +#define SYZ_REVISION "2cc0b2b4af5c720a074c85161215a3b5977d3e84" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 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}) |
