Loading libcutils/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ cc_library_headers { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", native_bridge_supported: true, export_include_dirs: ["include"], target: { Loading @@ -59,6 +60,7 @@ cc_library { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", export_include_dirs: ["include"], Loading Loading @@ -142,6 +144,7 @@ cc_library { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", native_bridge_supported: true, srcs: [ "config_utils.cpp", Loading libgrallocusage/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -26,4 +26,5 @@ cc_library { export_include_dirs: ["include"], shared_libs: ["android.hardware.graphics.allocator@2.0"], header_libs: ["libhardware_headers"], min_sdk_version: "29", } libprocessgroup/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ cc_library_headers { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", } cc_library { Loading Loading @@ -60,4 +61,5 @@ cc_library { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", } libutils/FileMap.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -195,7 +195,7 @@ bool FileMap::create(const char* origFileName, int fd, off64_t offset, size_t le int prot = PROT_READ; if (!readOnly) prot |= PROT_WRITE; void* ptr = mmap(nullptr, adjLength, prot, flags, fd, adjOffset); void* ptr = mmap64(nullptr, adjLength, prot, flags, fd, adjOffset); if (ptr == MAP_FAILED) { if (errno == EINVAL && length == 0) { ptr = nullptr; Loading libutils/FileMap_test.cpp +20 −0 Original line number Diff line number Diff line Loading @@ -32,3 +32,23 @@ TEST(FileMap, zero_length_mapping) { ASSERT_EQ(0u, m.getDataLength()); ASSERT_EQ(4096, m.getDataOffset()); } TEST(FileMap, large_offset) { // Make sure that an offset > INT32_MAX will not fail the create // function. See http://b/155662887. TemporaryFile tf; ASSERT_TRUE(tf.fd != -1); off64_t offset = INT32_MAX + 1024LL; // Make the temporary file large enough to pass the mmap. ASSERT_EQ(offset, lseek64(tf.fd, offset, SEEK_SET)); char value = 0; ASSERT_EQ(1, write(tf.fd, &value, 1)); android::FileMap m; ASSERT_TRUE(m.create("test", tf.fd, offset, 0, true)); ASSERT_STREQ("test", m.getFileName()); ASSERT_EQ(0u, m.getDataLength()); ASSERT_EQ(offset, m.getDataOffset()); } Loading
libcutils/Android.bp +3 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ cc_library_headers { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", native_bridge_supported: true, export_include_dirs: ["include"], target: { Loading @@ -59,6 +60,7 @@ cc_library { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", export_include_dirs: ["include"], Loading Loading @@ -142,6 +144,7 @@ cc_library { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", native_bridge_supported: true, srcs: [ "config_utils.cpp", Loading
libgrallocusage/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -26,4 +26,5 @@ cc_library { export_include_dirs: ["include"], shared_libs: ["android.hardware.graphics.allocator@2.0"], header_libs: ["libhardware_headers"], min_sdk_version: "29", }
libprocessgroup/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ cc_library_headers { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", } cc_library { Loading Loading @@ -60,4 +61,5 @@ cc_library { "//apex_available:platform", "//apex_available:anyapex", ], min_sdk_version: "29", }
libutils/FileMap.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -195,7 +195,7 @@ bool FileMap::create(const char* origFileName, int fd, off64_t offset, size_t le int prot = PROT_READ; if (!readOnly) prot |= PROT_WRITE; void* ptr = mmap(nullptr, adjLength, prot, flags, fd, adjOffset); void* ptr = mmap64(nullptr, adjLength, prot, flags, fd, adjOffset); if (ptr == MAP_FAILED) { if (errno == EINVAL && length == 0) { ptr = nullptr; Loading
libutils/FileMap_test.cpp +20 −0 Original line number Diff line number Diff line Loading @@ -32,3 +32,23 @@ TEST(FileMap, zero_length_mapping) { ASSERT_EQ(0u, m.getDataLength()); ASSERT_EQ(4096, m.getDataOffset()); } TEST(FileMap, large_offset) { // Make sure that an offset > INT32_MAX will not fail the create // function. See http://b/155662887. TemporaryFile tf; ASSERT_TRUE(tf.fd != -1); off64_t offset = INT32_MAX + 1024LL; // Make the temporary file large enough to pass the mmap. ASSERT_EQ(offset, lseek64(tf.fd, offset, SEEK_SET)); char value = 0; ASSERT_EQ(1, write(tf.fd, &value, 1)); android::FileMap m; ASSERT_TRUE(m.create("test", tf.fd, offset, 0, true)); ASSERT_STREQ("test", m.getFileName()); ASSERT_EQ(0u, m.getDataLength()); ASSERT_EQ(offset, m.getDataOffset()); }