Loading cmds/atrace/atrace.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,11 @@ static const TracingCategory k_categories[] = { { "pagecache", "Page cache", 0, { { REQ, "events/filemap/enable" }, } }, { "memory", "Memory", 0, { { OPT, "events/kmem/rss_stat/enable" }, { OPT, "events/kmem/ion_heap_grow/enable" }, { OPT, "events/kmem/ion_heap_shrink/enable" }, } }, }; struct TracingVendorCategory { Loading cmds/dumpstate/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,6 @@ cc_binary { "kill", "librank", "logcat", "logcompressor", "lsmod", "lsof", "netstat", Loading cmds/installd/InstalldNativeService.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -805,7 +805,7 @@ binder::Status InstalldNativeService::fixupAppData(const std::unique_ptr<std::st PLOG(WARNING) << "Failed to chmod " << p->fts_path; } } // Intentional fall through to also set GID [[fallthrough]]; // also set GID case FTS_F: if (chown(p->fts_path, -1, expected) != 0) { PLOG(WARNING) << "Failed to chown " << p->fts_path; Loading Loading @@ -1442,7 +1442,7 @@ static void collectManualExternalStatsForUser(const std::string& path, struct st && !strcmp(p->fts_parent->fts_parent->fts_parent->fts_name, "Android")) { p->fts_number = 1; } // Fall through to count the directory [[fallthrough]]; // to count the directory case FTS_DEFAULT: case FTS_F: case FTS_SL: Loading Loading @@ -1857,13 +1857,14 @@ binder::Status InstalldNativeService::getExternalSize(const std::unique_ptr<std: } } } // Fall through to always count against total [[fallthrough]]; // always count against total case FTS_D: // Ignore data belonging to specific apps p->fts_number = p->fts_parent->fts_number; if (p->fts_level == 1 && !strcmp(p->fts_name, "Android")) { p->fts_number = 1; } [[fallthrough]]; // always count against total case FTS_DEFAULT: case FTS_SL: case FTS_SLNONE: Loading cmds/installd/utils.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -974,7 +974,7 @@ int prepare_app_cache_dir(const std::string& parent, const char* name, mode_t ta if (chmod(p->fts_path, target_mode) != 0) { PLOG(WARNING) << "Failed to chmod " << p->fts_path; } // Intentional fall through to also set GID [[fallthrough]]; // to also set GID case FTS_F: if (chown(p->fts_path, -1, gid) != 0) { PLOG(WARNING) << "Failed to chown " << p->fts_path; Loading libs/binder/ndk/include_ndk/android/binder_parcel.h +215 −20 Original line number Diff line number Diff line Loading @@ -50,6 +50,99 @@ typedef struct AParcel AParcel; */ void AParcel_delete(AParcel* parcel) __INTRODUCED_IN(29); /** * This is called to allocate an array with a given length. If allocation fails, null should be * returned. */ typedef void* (*AParcel_arrayReallocator)(void* vectorData, size_t length); // @START-PRIMITIVE-VECTOR-GETTERS /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef int32_t* (*AParcel_int32ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef uint32_t* (*AParcel_uint32ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef int64_t* (*AParcel_int64ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef uint64_t* (*AParcel_uint64ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef float* (*AParcel_floatArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef double* (*AParcel_doubleArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef bool (*AParcel_boolArrayGetter)(const void* arrayData, size_t index); /** * This is called to set an underlying value in an arrayData object at index. */ typedef void (*AParcel_boolArraySetter)(void* arrayData, size_t index, bool value); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef char16_t* (*AParcel_charArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef int8_t* (*AParcel_byteArrayGetter)(void* arrayData); // @END-PRIMITIVE-VECTOR-GETTERS /** * This is called to allocate a buffer * * The length here includes the space required to insert a '\0' for a properly formed c-str. If the * buffer returned from this function is retStr, it will be filled by AParcel_readString with the * data from the remote process, and it will be filled such that retStr[length] == '\0'. * * If allocation fails, null should be returned. */ typedef void* (*AParcel_stringReallocator)(void* stringData, size_t length); /** * This is called to get the buffer from a stringData object. */ typedef char* (*AParcel_stringGetter)(void* stringData); /** * Writes an AIBinder to the next location in a non-null parcel. Can be null. */ Loading Loading @@ -94,22 +187,6 @@ binder_status_t AParcel_readStatusHeader(const AParcel* parcel, AStatus** status binder_status_t AParcel_writeString(AParcel* parcel, const char* string, size_t length) __INTRODUCED_IN(29); /** * This is called to allocate a buffer * * The length here includes the space required to insert a '\0' for a properly formed c-str. If the * buffer returned from this function is retStr, it will be filled by AParcel_readString with the * data from the remote process, and it will be filled such that retStr[length] == '\0'. * * If allocation fails, null should be returned. */ typedef void* (*AParcel_string_reallocator)(void* stringData, size_t length); /** * This is called to get the buffer from a stringData object. */ typedef char* (*AParcel_string_getter)(void* stringData); /** * Reads and allocates string value from the next location in a non-null parcel. * Loading @@ -121,11 +198,11 @@ typedef char* (*AParcel_string_getter)(void* stringData); * If this function returns a success, the buffer returned by allocator when passed stringData will * contain a null-terminated c-str read from the binder. */ binder_status_t AParcel_readString(const AParcel* parcel, AParcel_string_reallocator reallocator, AParcel_string_getter getter, void** stringData) binder_status_t AParcel_readString(const AParcel* parcel, AParcel_stringReallocator reallocator, AParcel_stringGetter getter, void** stringData) __INTRODUCED_IN(29); // @START // @START-PRIMITIVE-READ-WRITE /** * Writes int32_t value to the next location in a non-null parcel. */ Loading Loading @@ -216,7 +293,125 @@ binder_status_t AParcel_readChar(const AParcel* parcel, char16_t* value) __INTRO */ binder_status_t AParcel_readByte(const AParcel* parcel, int8_t* value) __INTRODUCED_IN(29); // @END /** * Writes an array of int32_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeInt32Array(AParcel* parcel, const int32_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of uint32_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeUint32Array(AParcel* parcel, const uint32_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of int64_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeInt64Array(AParcel* parcel, const int64_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of uint64_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeUint64Array(AParcel* parcel, const uint64_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of float to the next location in a non-null parcel. */ binder_status_t AParcel_writeFloatArray(AParcel* parcel, const float* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of double to the next location in a non-null parcel. */ binder_status_t AParcel_writeDoubleArray(AParcel* parcel, const double* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of bool to the next location in a non-null parcel. */ binder_status_t AParcel_writeBoolArray(AParcel* parcel, const void* arrayData, AParcel_boolArrayGetter getter, size_t length) __INTRODUCED_IN(29); /** * Writes an array of char16_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeCharArray(AParcel* parcel, const char16_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of int8_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeByteArray(AParcel* parcel, const int8_t* value, size_t length) __INTRODUCED_IN(29); /** * Reads an array of int32_t from the next location in a non-null parcel. */ binder_status_t AParcel_readInt32Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_int32ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of uint32_t from the next location in a non-null parcel. */ binder_status_t AParcel_readUint32Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_uint32ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of int64_t from the next location in a non-null parcel. */ binder_status_t AParcel_readInt64Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_int64ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of uint64_t from the next location in a non-null parcel. */ binder_status_t AParcel_readUint64Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_uint64ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of float from the next location in a non-null parcel. */ binder_status_t AParcel_readFloatArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_floatArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of double from the next location in a non-null parcel. */ binder_status_t AParcel_readDoubleArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_doubleArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of bool from the next location in a non-null parcel. */ binder_status_t AParcel_readBoolArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_boolArraySetter setter) __INTRODUCED_IN(29); /** * Reads an array of char16_t from the next location in a non-null parcel. */ binder_status_t AParcel_readCharArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_charArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of int8_t from the next location in a non-null parcel. */ binder_status_t AParcel_readByteArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_byteArrayGetter getter) __INTRODUCED_IN(29); // @END-PRIMITIVE-READ-WRITE #endif //__ANDROID_API__ >= __ANDROID_API_Q__ __END_DECLS Loading Loading
cmds/atrace/atrace.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,11 @@ static const TracingCategory k_categories[] = { { "pagecache", "Page cache", 0, { { REQ, "events/filemap/enable" }, } }, { "memory", "Memory", 0, { { OPT, "events/kmem/rss_stat/enable" }, { OPT, "events/kmem/ion_heap_grow/enable" }, { OPT, "events/kmem/ion_heap_shrink/enable" }, } }, }; struct TracingVendorCategory { Loading
cmds/dumpstate/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,6 @@ cc_binary { "kill", "librank", "logcat", "logcompressor", "lsmod", "lsof", "netstat", Loading
cmds/installd/InstalldNativeService.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -805,7 +805,7 @@ binder::Status InstalldNativeService::fixupAppData(const std::unique_ptr<std::st PLOG(WARNING) << "Failed to chmod " << p->fts_path; } } // Intentional fall through to also set GID [[fallthrough]]; // also set GID case FTS_F: if (chown(p->fts_path, -1, expected) != 0) { PLOG(WARNING) << "Failed to chown " << p->fts_path; Loading Loading @@ -1442,7 +1442,7 @@ static void collectManualExternalStatsForUser(const std::string& path, struct st && !strcmp(p->fts_parent->fts_parent->fts_parent->fts_name, "Android")) { p->fts_number = 1; } // Fall through to count the directory [[fallthrough]]; // to count the directory case FTS_DEFAULT: case FTS_F: case FTS_SL: Loading Loading @@ -1857,13 +1857,14 @@ binder::Status InstalldNativeService::getExternalSize(const std::unique_ptr<std: } } } // Fall through to always count against total [[fallthrough]]; // always count against total case FTS_D: // Ignore data belonging to specific apps p->fts_number = p->fts_parent->fts_number; if (p->fts_level == 1 && !strcmp(p->fts_name, "Android")) { p->fts_number = 1; } [[fallthrough]]; // always count against total case FTS_DEFAULT: case FTS_SL: case FTS_SLNONE: Loading
cmds/installd/utils.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -974,7 +974,7 @@ int prepare_app_cache_dir(const std::string& parent, const char* name, mode_t ta if (chmod(p->fts_path, target_mode) != 0) { PLOG(WARNING) << "Failed to chmod " << p->fts_path; } // Intentional fall through to also set GID [[fallthrough]]; // to also set GID case FTS_F: if (chown(p->fts_path, -1, gid) != 0) { PLOG(WARNING) << "Failed to chown " << p->fts_path; Loading
libs/binder/ndk/include_ndk/android/binder_parcel.h +215 −20 Original line number Diff line number Diff line Loading @@ -50,6 +50,99 @@ typedef struct AParcel AParcel; */ void AParcel_delete(AParcel* parcel) __INTRODUCED_IN(29); /** * This is called to allocate an array with a given length. If allocation fails, null should be * returned. */ typedef void* (*AParcel_arrayReallocator)(void* vectorData, size_t length); // @START-PRIMITIVE-VECTOR-GETTERS /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef int32_t* (*AParcel_int32ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef uint32_t* (*AParcel_uint32ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef int64_t* (*AParcel_int64ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef uint64_t* (*AParcel_uint64ArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef float* (*AParcel_floatArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef double* (*AParcel_doubleArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef bool (*AParcel_boolArrayGetter)(const void* arrayData, size_t index); /** * This is called to set an underlying value in an arrayData object at index. */ typedef void (*AParcel_boolArraySetter)(void* arrayData, size_t index, bool value); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef char16_t* (*AParcel_charArrayGetter)(void* arrayData); /** * This is called to get the underlying data from an arrayData object. * * This will never be called for an empty array. */ typedef int8_t* (*AParcel_byteArrayGetter)(void* arrayData); // @END-PRIMITIVE-VECTOR-GETTERS /** * This is called to allocate a buffer * * The length here includes the space required to insert a '\0' for a properly formed c-str. If the * buffer returned from this function is retStr, it will be filled by AParcel_readString with the * data from the remote process, and it will be filled such that retStr[length] == '\0'. * * If allocation fails, null should be returned. */ typedef void* (*AParcel_stringReallocator)(void* stringData, size_t length); /** * This is called to get the buffer from a stringData object. */ typedef char* (*AParcel_stringGetter)(void* stringData); /** * Writes an AIBinder to the next location in a non-null parcel. Can be null. */ Loading Loading @@ -94,22 +187,6 @@ binder_status_t AParcel_readStatusHeader(const AParcel* parcel, AStatus** status binder_status_t AParcel_writeString(AParcel* parcel, const char* string, size_t length) __INTRODUCED_IN(29); /** * This is called to allocate a buffer * * The length here includes the space required to insert a '\0' for a properly formed c-str. If the * buffer returned from this function is retStr, it will be filled by AParcel_readString with the * data from the remote process, and it will be filled such that retStr[length] == '\0'. * * If allocation fails, null should be returned. */ typedef void* (*AParcel_string_reallocator)(void* stringData, size_t length); /** * This is called to get the buffer from a stringData object. */ typedef char* (*AParcel_string_getter)(void* stringData); /** * Reads and allocates string value from the next location in a non-null parcel. * Loading @@ -121,11 +198,11 @@ typedef char* (*AParcel_string_getter)(void* stringData); * If this function returns a success, the buffer returned by allocator when passed stringData will * contain a null-terminated c-str read from the binder. */ binder_status_t AParcel_readString(const AParcel* parcel, AParcel_string_reallocator reallocator, AParcel_string_getter getter, void** stringData) binder_status_t AParcel_readString(const AParcel* parcel, AParcel_stringReallocator reallocator, AParcel_stringGetter getter, void** stringData) __INTRODUCED_IN(29); // @START // @START-PRIMITIVE-READ-WRITE /** * Writes int32_t value to the next location in a non-null parcel. */ Loading Loading @@ -216,7 +293,125 @@ binder_status_t AParcel_readChar(const AParcel* parcel, char16_t* value) __INTRO */ binder_status_t AParcel_readByte(const AParcel* parcel, int8_t* value) __INTRODUCED_IN(29); // @END /** * Writes an array of int32_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeInt32Array(AParcel* parcel, const int32_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of uint32_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeUint32Array(AParcel* parcel, const uint32_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of int64_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeInt64Array(AParcel* parcel, const int64_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of uint64_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeUint64Array(AParcel* parcel, const uint64_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of float to the next location in a non-null parcel. */ binder_status_t AParcel_writeFloatArray(AParcel* parcel, const float* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of double to the next location in a non-null parcel. */ binder_status_t AParcel_writeDoubleArray(AParcel* parcel, const double* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of bool to the next location in a non-null parcel. */ binder_status_t AParcel_writeBoolArray(AParcel* parcel, const void* arrayData, AParcel_boolArrayGetter getter, size_t length) __INTRODUCED_IN(29); /** * Writes an array of char16_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeCharArray(AParcel* parcel, const char16_t* value, size_t length) __INTRODUCED_IN(29); /** * Writes an array of int8_t to the next location in a non-null parcel. */ binder_status_t AParcel_writeByteArray(AParcel* parcel, const int8_t* value, size_t length) __INTRODUCED_IN(29); /** * Reads an array of int32_t from the next location in a non-null parcel. */ binder_status_t AParcel_readInt32Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_int32ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of uint32_t from the next location in a non-null parcel. */ binder_status_t AParcel_readUint32Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_uint32ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of int64_t from the next location in a non-null parcel. */ binder_status_t AParcel_readInt64Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_int64ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of uint64_t from the next location in a non-null parcel. */ binder_status_t AParcel_readUint64Array(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_uint64ArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of float from the next location in a non-null parcel. */ binder_status_t AParcel_readFloatArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_floatArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of double from the next location in a non-null parcel. */ binder_status_t AParcel_readDoubleArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_doubleArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of bool from the next location in a non-null parcel. */ binder_status_t AParcel_readBoolArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_boolArraySetter setter) __INTRODUCED_IN(29); /** * Reads an array of char16_t from the next location in a non-null parcel. */ binder_status_t AParcel_readCharArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_charArrayGetter getter) __INTRODUCED_IN(29); /** * Reads an array of int8_t from the next location in a non-null parcel. */ binder_status_t AParcel_readByteArray(const AParcel* parcel, void** arrayData, AParcel_arrayReallocator reallocator, AParcel_byteArrayGetter getter) __INTRODUCED_IN(29); // @END-PRIMITIVE-READ-WRITE #endif //__ANDROID_API__ >= __ANDROID_API_Q__ __END_DECLS Loading