From d0f4bd59398d30a3f1d03dbf680a153813f1df13 Mon Sep 17 00:00:00 2001 From: Evgenii Stepanov Date: Wed, 6 Dec 2023 18:54:45 +0000 Subject: [PATCH 1/2] Revert "Add a memtag-globals test to bionic" Revert submission 2709995 Reason for revert: linker crash in soinfo::apply_relr_reloc Reverted changes: /q/submissionid:2709995 Bug: 314038442 Change-Id: I416bff00ed3d530b3b6257362b2119c358e1d152 --- tests/Android.bp | 86 -------- tests/memtag_globals_test.cpp | 58 ------ .../arm64/memtag_globals_binary.so | Bin 274048 -> 0 bytes .../arm64/memtag_globals_dso.so | Bin 250720 -> 0 bytes .../arm64/src/memtag_globals.h | 43 ---- .../arm64/src/memtag_globals_binary.cpp | 195 ------------------ .../arm64/src/memtag_globals_dso.cpp | 165 --------------- 7 files changed, 547 deletions(-) delete mode 100644 tests/memtag_globals_test.cpp delete mode 100755 tests/prebuilt-elf-files/arm64/memtag_globals_binary.so delete mode 100755 tests/prebuilt-elf-files/arm64/memtag_globals_dso.so delete mode 100644 tests/prebuilt-elf-files/arm64/src/memtag_globals.h delete mode 100644 tests/prebuilt-elf-files/arm64/src/memtag_globals_binary.cpp delete mode 100644 tests/prebuilt-elf-files/arm64/src/memtag_globals_dso.cpp diff --git a/tests/Android.bp b/tests/Android.bp index 3aea968c4..14b4e3e17 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -353,89 +353,6 @@ cc_prebuilt_test_library_shared { }, } -cc_defaults { - name: "memtag_globals_defaults", - defaults: [ - "bionic_testlib_defaults", - "bionic_targets_only" - ], - cflags: [ - "-Wno-array-bounds", - "-Wno-unused-variable", - ], - header_libs: ["bionic_libc_platform_headers"], - sanitize: { - hwaddress: false, - memtag_heap: true, - memtag_globals: true, - diag: { - memtag_heap: true, - } - }, - relative_install_path: "bionic-loader-test-libs/prebuilt-elf-files", -} - -/// The following library and binary is to be used for testing the bionic linker -/// against memtag globals. While we wait for the compiler to be updated, the -/// files come as prebuilts (built using) the corresponding 'regular' -/// cc_test_library and cc_test rules below, just with a tip-of-tree version of -/// LLVM. -/// -/// Updating the prebuilts can be done by installing a tip-of-tree compiler, and -/// running: -/// - m memtag_globals_binary memtag_globals_dso -/// - cp $ANDROID_PRODUCT_OUT/symbols/data/nativetest64/bionic-loader-test-libs/prebuilt-elf-files/memtag_globals_* \ -/// $ANDROID_BUILD_TOP/bionic/tests/prebuilt-elf-files/arm64/ -/// -// cc_test_library { -// name: "memtag_globals_dso", -// defaults: [ "memtag_globals_defaults" ], -// srcs: ["prebuilt-elf-files/arm64/src/memtag_globals_dso.cpp"], -// } -// -// cc_test { -// name: "memtag_globals_binary", -// // Not actually a '.so' file, this is an executable; but the only way to -// // get soong to be able to produce a properly located and linked prebuilt -// // variant of this binary was through the cc_prebuilt_test_library_shared -// // rule, which appends '.so' to the end. Once the prebuilts are removed, -// // the suffix can be removed. -// suffix: ".so", -// defaults: [ "memtag_globals_defaults" ], -// srcs: ["prebuilt-elf-files/arm64/src/memtag_globals_binary.cpp"], -// shared_libs: [ "memtag_globals_dso" ], -// // This binary is used in the bionic-unit-tests as a data dependency, and is -// // in the same folder as memtag_globals_dso. But, the default cc_test rules -// // make this binary (when just explicitly built and shoved in -// // /data/nativetest64/) end up in a subfolder called -// // 'memtag_globals_binary'. When this happens, the explicit build fails to -// // find the DSO because the default rpath is just ${ORIGIN}, and because we -// // want this to be usable both from bionic-unit-tests and explicit builds, -// // let's just not put it in a subdirectory. -// no_named_install_directory: true, -// } - -cc_prebuilt_test_library_shared { - name: "memtag_globals_dso", - defaults: [ "memtag_globals_defaults" ], - arch: { - arm64: { - srcs: ["prebuilt-elf-files/arm64/memtag_globals_dso.so"], - }, - } -} - -cc_prebuilt_test_library_shared { - name: "memtag_globals_binary", - defaults: [ "memtag_globals_defaults" ], - arch: { - arm64: { - srcs: ["prebuilt-elf-files/arm64/memtag_globals_binary.so"], - shared_libs: [ "memtag_globals_dso" ], - }, - } -} - // ----------------------------------------------------------------------------- // All standard tests. // ----------------------------------------------------------------------------- @@ -510,7 +427,6 @@ cc_test_library { "math_test.cpp", "membarrier_test.cpp", "memtag_stack_test.cpp", - "memtag_globals_test.cpp", "mntent_test.cpp", "mte_test.cpp", "netdb_test.cpp", @@ -966,8 +882,6 @@ cc_defaults { "preinit_syscall_test_helper", "thread_exit_cb_helper", "tls_properties_helper", - "memtag_globals_binary", - "memtag_globals_dso", ], data_libs: [ "libatest_simple_zip", diff --git a/tests/memtag_globals_test.cpp b/tests/memtag_globals_test.cpp deleted file mode 100644 index 3736d4c45..000000000 --- a/tests/memtag_globals_test.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include - -#if defined(__BIONIC__) -#include "gtest_globals.h" -#include "platform/bionic/mte.h" -#include "utils.h" -#endif - -#include -#include -#include - -TEST(MemtagGlobalsTest, test) { -#if defined(__BIONIC__) && defined(__aarch64__) - std::string binary = GetPrebuiltElfDir() + "/memtag_globals_binary.so"; - chmod(binary.c_str(), 0755); - ExecTestHelper eth; - eth.SetArgs({binary.c_str(), nullptr}); - eth.Run( - [&]() { - execve(binary.c_str(), eth.GetArgs(), eth.GetEnv()); - GTEST_FAIL() << "Failed to execve: " << strerror(errno) << "\n"; - }, - // We catch the global-buffer-overflow and crash only when MTE is - // supported. - mte_supported() ? -SIGSEGV : 0, "Assertions were passed"); -#else - GTEST_SKIP() << "bionic/arm64 only"; -#endif -} diff --git a/tests/prebuilt-elf-files/arm64/memtag_globals_binary.so b/tests/prebuilt-elf-files/arm64/memtag_globals_binary.so deleted file mode 100755 index 43d7443a71a74982e36e7d483cc838e168a92def..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274048 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 z zdR(CYxZFTC&@$C&Gon}&h+X$n+sK|f%85b;H-ocDGE=~`t(jM}I zrbqw7d-E;0%)J#>!}TXZ`h58Ng1A&bdqTaK{yC&CRlH+ZV7SDTeCa1&mEMqbx=)tUi~C!g z4cPgUEa{#a+{AqOG6!Ew271w+6-jJulpg<{Bre7M71LKG>1o+x{`mI|aj5`zX#1xh zOpkUQNP1)c3v74-TxQaZMjuR%sJ@Us*^Z~j<)VK`-&9C%i+{JS3OFvLN53(DCD~4W z!u_{}zawZ{m8TEK4Uj-g-xBgKE*R87`cQg+GWrPaNS!RCk5cmd!(k2@MX@p}i%L-W>rfn{?*sj|&{r<8lq87xRA!>7Og)1~47ct&m>a z|2wff|KE8rqP)2N(9Qw!Ly$0S{t%wtogU!Hhy2+msTDz3%y|BAoTTSUCNq5f%IS5? Z2(}2T(gh3YuixS6>jxN2(qCfw{|Anu13&-( diff --git a/tests/prebuilt-elf-files/arm64/memtag_globals_dso.so b/tests/prebuilt-elf-files/arm64/memtag_globals_dso.so deleted file mode 100755 index f472a708c0e23ae00d6e343592263165b201f4fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250720 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 diff --git a/tests/prebuilt-elf-files/arm64/src/memtag_globals.h b/tests/prebuilt-elf-files/arm64/src/memtag_globals.h deleted file mode 100644 index b9a2ef11f..000000000 --- a/tests/prebuilt-elf-files/arm64/src/memtag_globals.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include - -void check_tagged(const void* a); -void check_untagged(const void* a); -void check_matching_tags(const void* a, const void* b); -void check_eq(const void* a, const void* b); - -void dso_check_assertions(bool enforce_tagged); -void dso_print_variables(); - -void print_variable_address(const char* name, const void* ptr); -void print_variables(const char* header, - const std::vector>& tagged_variables, - const std::vector>& untagged_variables); \ No newline at end of file diff --git a/tests/prebuilt-elf-files/arm64/src/memtag_globals_binary.cpp b/tests/prebuilt-elf-files/arm64/src/memtag_globals_binary.cpp deleted file mode 100644 index c9ad261f8..000000000 --- a/tests/prebuilt-elf-files/arm64/src/memtag_globals_binary.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "memtag_globals.h" - -// Adapted from the LLD test suite: lld/test/ELF/Inputs/aarch64-memtag-globals.s - -/// Global variables defined here, of various semantics. -char global[30] = {}; -__attribute__((no_sanitize("memtag"))) int global_untagged = 0; -const int const_global = 0; -static const int hidden_const_global = 0; -static char hidden_global[12] = {}; -__attribute__((visibility("hidden"))) int hidden_attr_global = 0; -__attribute__((visibility("hidden"))) const int hidden_attr_const_global = 0; - -/// Should be untagged. -__thread int tls_global; -__thread static int hidden_tls_global; - -/// Tagged, from the other file. -extern int global_extern; -/// Untagged, from the other file. -extern __attribute__((no_sanitize("memtag"))) int global_extern_untagged; -/// Tagged here, but untagged in the definition found in the sister objfile -/// (explicitly). -extern int global_extern_untagged_definition_but_tagged_import; - -/// ABS64 relocations. Also, forces symtab entries for local and external -/// globals. -char* pointer_to_global = &global[0]; -char* pointer_inside_global = &global[17]; -char* pointer_to_global_end = &global[30]; -char* pointer_past_global_end = &global[48]; -int* pointer_to_global_untagged = &global_untagged; -const int* pointer_to_const_global = &const_global; -/// RELATIVE relocations. -const int* pointer_to_hidden_const_global = &hidden_const_global; -char* pointer_to_hidden_global = &hidden_global[0]; -int* pointer_to_hidden_attr_global = &hidden_attr_global; -const int* pointer_to_hidden_attr_const_global = &hidden_attr_const_global; -/// RELATIVE relocations with special AArch64 MemtagABI semantics, with the -/// offset ('12' or '16') encoded in the place. -char* pointer_to_hidden_global_end = &hidden_global[12]; -char* pointer_past_hidden_global_end = &hidden_global[16]; -/// ABS64 relocations. -int* pointer_to_global_extern = &global_extern; -int* pointer_to_global_extern_untagged = &global_extern_untagged; -int* pointer_to_global_extern_untagged_definition_but_tagged_import = - &global_extern_untagged_definition_but_tagged_import; - -// Force materialization of these globals into the symtab. -int* get_address_to_tls_global() { - return &tls_global; -} -int* get_address_to_hidden_tls_global() { - return &hidden_tls_global; -} - -static const std::vector>& get_expected_tagged_vars() { - static std::vector> expected_tagged_vars = { - {"global", &global}, - {"pointer_inside_global", pointer_inside_global}, - {"pointer_to_global_end", pointer_to_global_end}, - {"pointer_past_global_end", pointer_past_global_end}, - {"hidden_global", &hidden_global}, - {"hidden_attr_global", &hidden_attr_global}, - {"global_extern", &global_extern}, - }; - return expected_tagged_vars; -} - -static const std::vector>& get_expected_untagged_vars() { - static std::vector> expected_untagged_vars = { - {"global_extern_untagged", &global_extern_untagged}, - {"global_extern_untagged_definition_but_tagged_import", - &global_extern_untagged_definition_but_tagged_import}, - {"global_untagged", &global_untagged}, - {"const_global", &const_global}, - {"hidden_const_global", &hidden_const_global}, - {"hidden_attr_const_global", &hidden_attr_const_global}, - {"tls_global", &tls_global}, - {"hidden_tls_global", &hidden_tls_global}, - }; - return expected_untagged_vars; -} - -void exe_print_variables() { - print_variables(" Variables accessible from the binary:\n", get_expected_tagged_vars(), - get_expected_untagged_vars()); -} - -// Dump the addresses of the global variables to stderr -void dso_print(); -void dso_print_others(); - -void exe_check_assertions(bool check_pointers_are_tagged) { - // Check that non-const variables are writeable. - *pointer_to_global = 0; - *pointer_inside_global = 0; - *(pointer_to_global_end - 1) = 0; - *pointer_to_global_untagged = 0; - *pointer_to_hidden_global = 0; - *pointer_to_hidden_attr_global = 0; - *(pointer_to_hidden_global_end - 1) = 0; - *pointer_to_global_extern = 0; - *pointer_to_global_extern_untagged = 0; - *pointer_to_global_extern_untagged_definition_but_tagged_import = 0; - - if (check_pointers_are_tagged) { - for (const auto& [_, pointer] : get_expected_tagged_vars()) { - check_tagged(pointer); - } - } - - for (const auto& [_, pointer] : get_expected_untagged_vars()) { - check_untagged(pointer); - } - - check_matching_tags(pointer_to_global, pointer_inside_global); - check_matching_tags(pointer_to_global, pointer_to_global_end); - check_matching_tags(pointer_to_global, pointer_past_global_end); - check_eq(pointer_inside_global, pointer_to_global + 17); - check_eq(pointer_to_global_end, pointer_to_global + 30); - check_eq(pointer_past_global_end, pointer_to_global + 48); - - check_matching_tags(pointer_to_hidden_global, pointer_to_hidden_global_end); - check_matching_tags(pointer_to_hidden_global, pointer_past_hidden_global_end); - check_eq(pointer_to_hidden_global_end, pointer_to_hidden_global + 12); - check_eq(pointer_past_hidden_global_end, pointer_to_hidden_global + 16); -} - -void crash() { - *pointer_past_global_end = 0; -} - -int main(int argc, char** argv) { - bool check_pointers_are_tagged = false; - // For an MTE-capable device, provide argv[1] == '1' to enable the assertions - // that pointers should be tagged. - if (argc >= 2 && argv[1][0] == '1') { - check_pointers_are_tagged = true; - } - - char* heap_ptr = static_cast(malloc(1)); - print_variable_address("heap address", heap_ptr); - *heap_ptr = 0; - if (check_pointers_are_tagged) check_tagged(heap_ptr); - free(heap_ptr); - - exe_print_variables(); - dso_print_variables(); - - exe_check_assertions(check_pointers_are_tagged); - dso_check_assertions(check_pointers_are_tagged); - - printf("Assertions were passed. Now doing a global-buffer-overflow.\n"); - fflush(stdout); - crash(); - printf("global-buffer-overflow went uncaught.\n"); - return 0; -} \ No newline at end of file diff --git a/tests/prebuilt-elf-files/arm64/src/memtag_globals_dso.cpp b/tests/prebuilt-elf-files/arm64/src/memtag_globals_dso.cpp deleted file mode 100644 index 877108e13..000000000 --- a/tests/prebuilt-elf-files/arm64/src/memtag_globals_dso.cpp +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include - -#include "memtag_globals.h" - -// Adapted from the LLD test suite: lld/test/ELF/Inputs/aarch64-memtag-globals.s - -int global_extern; -static int global_extern_hidden; -__attribute__((no_sanitize("memtag"))) int global_extern_untagged; -__attribute__((no_sanitize("memtag"))) int global_extern_untagged_definition_but_tagged_import; - -void assertion_failure() { - exit(1); -} - -void check_tagged(const void* a) { - uintptr_t a_uptr = reinterpret_cast(a); -#if defined(__aarch64__) - if ((a_uptr >> 56) == 0) { - fprintf(stderr, "**********************************\n"); - fprintf(stderr, "Failed assertion:\n"); - fprintf(stderr, " tag(0x%zx) != 0\n", a_uptr); - fprintf(stderr, "**********************************\n"); - - assertion_failure(); - } -#endif // defined(__aarch64__) -} - -void check_untagged(const void* a) { - uintptr_t a_uptr = reinterpret_cast(a); -#if defined(__aarch64__) - if ((a_uptr >> 56) != 0) { - fprintf(stderr, "**********************************\n"); - fprintf(stderr, "Failed assertion:\n"); - fprintf(stderr, " tag(0x%zx) == 0\n", a_uptr); - fprintf(stderr, "**********************************\n"); - - assertion_failure(); - } -#endif // defined(__aarch64__) -} - -void check_matching_tags(const void* a, const void* b) { - uintptr_t a_uptr = reinterpret_cast(a); - uintptr_t b_uptr = reinterpret_cast(b); -#if defined(__aarch64__) - if (a_uptr >> 56 != b_uptr >> 56) { - fprintf(stderr, "**********************************\n"); - fprintf(stderr, "Failed assertion:\n"); - fprintf(stderr, " tag(0x%zx) != tag(0x%zx)\n", a_uptr, b_uptr); - fprintf(stderr, "**********************************\n"); - - assertion_failure(); - } -#endif // defined(__aarch64__) -} - -void check_eq(const void* a, const void* b) { - if (a != b) { - fprintf(stderr, "**********************************\n"); - fprintf(stderr, "Failed assertion:\n"); - fprintf(stderr, " %p != %p\n", a, b); - fprintf(stderr, "**********************************\n"); - - assertion_failure(); - } -} - -#define LONGEST_VARIABLE_NAME "51" -void print_variable_address(const char* name, const void* ptr) { - printf("%" LONGEST_VARIABLE_NAME "s: %16p\n", name, ptr); -} - -static const std::vector>& get_expected_tagged_vars() { - static std::vector> expected_tagged_vars = { - {"global_extern", &global_extern}, - {"global_extern_hidden", &global_extern_hidden}, - }; - return expected_tagged_vars; -} - -static const std::vector>& get_expected_untagged_vars() { - static std::vector> expected_untagged_vars = { - {"global_extern_untagged", &global_extern_untagged}, - {"global_extern_untagged_definition_but_tagged_import", - &global_extern_untagged_definition_but_tagged_import}, - }; - return expected_untagged_vars; -} - -void dso_print_variables() { - print_variables(" Variables declared in the DSO:\n", get_expected_tagged_vars(), - get_expected_untagged_vars()); -} - -void print_variables(const char* header, - const std::vector>& tagged_variables, - const std::vector>& untagged_variables) { - printf("==========================================================\n"); - printf("%s", header); - printf("==========================================================\n"); - printf(" Variables expected to be tagged:\n"); - printf("----------------------------------------------------------\n"); - for (const auto& [name, pointer] : tagged_variables) { - print_variable_address(name, pointer); - } - - printf("\n----------------------------------------------------------\n"); - printf(" Variables expected to be untagged:\n"); - printf("----------------------------------------------------------\n"); - for (const auto& [name, pointer] : untagged_variables) { - print_variable_address(name, pointer); - } - printf("\n"); -} - -void dso_check_assertions(bool check_pointers_are_tagged) { - // Check that non-const variables are writeable. - global_extern = 0; - global_extern_hidden = 0; - global_extern_untagged = 0; - global_extern_untagged_definition_but_tagged_import = 0; - - if (check_pointers_are_tagged) { - for (const auto& [_, pointer] : get_expected_tagged_vars()) { - check_tagged(pointer); - } - } - - for (const auto& [_, pointer] : get_expected_untagged_vars()) { - check_untagged(pointer); - } -} From 6bbb75aa771f47f1f6ca558e13de5870f869c9b9 Mon Sep 17 00:00:00 2001 From: Evgenii Stepanov Date: Wed, 6 Dec 2023 18:54:45 +0000 Subject: [PATCH 2/2] Revert "Linker support for MTE globals." Revert submission 2709995 Reason for revert: linker crash in soinfo::apply_relr_reloc Reverted changes: /q/submissionid:2709995 Bug: 314038442 Change-Id: I2c6ad7f46fb1174f009253602ad08ceb36aa7d71 --- libc/bionic/__libc_init_main_thread.cpp | 2 +- libc/bionic/bionic_call_ifunc_resolver.cpp | 5 +- libc/bionic/libc_init_static.cpp | 3 +- libc/platform/bionic/macros.h | 14 --- libc/platform/bionic/mte.h | 31 ------ linker/Android.bp | 4 - linker/dlfcn.cpp | 1 - linker/linker.cpp | 71 +------------- linker/linker_main.cpp | 27 +----- linker/linker_main.h | 2 - linker/linker_phdr.cpp | 106 +-------------------- linker/linker_phdr.h | 9 -- linker/linker_relocate.cpp | 34 ++----- linker/linker_sleb128.h | 29 ------ linker/linker_soinfo.h | 5 +- 15 files changed, 20 insertions(+), 323 deletions(-) diff --git a/libc/bionic/__libc_init_main_thread.cpp b/libc/bionic/__libc_init_main_thread.cpp index 0d557f128..1b539f274 100644 --- a/libc/bionic/__libc_init_main_thread.cpp +++ b/libc/bionic/__libc_init_main_thread.cpp @@ -44,7 +44,7 @@ extern "C" int __set_tid_address(int* tid_address); // Declared in "private/bionic_ssp.h". uintptr_t __stack_chk_guard = 0; -BIONIC_USED_BEFORE_LINKER_RELOCATES static pthread_internal_t main_thread; +static pthread_internal_t main_thread; // Setup for the main thread. For dynamic executables, this is called by the // linker _before_ libc is mapped in memory. This means that all writes to diff --git a/libc/bionic/bionic_call_ifunc_resolver.cpp b/libc/bionic/bionic_call_ifunc_resolver.cpp index 0b1208831..3cfb8b58b 100644 --- a/libc/bionic/bionic_call_ifunc_resolver.cpp +++ b/libc/bionic/bionic_call_ifunc_resolver.cpp @@ -30,7 +30,6 @@ #include #include -#include "bionic/macros.h" #include "private/bionic_auxv.h" // This code is called in the linker before it has been relocated, so minimize calls into other @@ -40,8 +39,8 @@ ElfW(Addr) __bionic_call_ifunc_resolver(ElfW(Addr) resolver_addr) { #if defined(__aarch64__) typedef ElfW(Addr) (*ifunc_resolver_t)(uint64_t, __ifunc_arg_t*); - BIONIC_USED_BEFORE_LINKER_RELOCATES static __ifunc_arg_t arg; - BIONIC_USED_BEFORE_LINKER_RELOCATES static bool initialized = false; + static __ifunc_arg_t arg; + static bool initialized = false; if (!initialized) { initialized = true; arg._size = sizeof(__ifunc_arg_t); diff --git a/libc/bionic/libc_init_static.cpp b/libc/bionic/libc_init_static.cpp index 181a7298b..f46d702cb 100644 --- a/libc/bionic/libc_init_static.cpp +++ b/libc/bionic/libc_init_static.cpp @@ -410,7 +410,6 @@ __attribute__((no_sanitize("hwaddress", "memtag"))) void __libc_init_mte( // We did not enable MTE, so we do not need to arm the upgrade timer. __libc_shared_globals()->heap_tagging_upgrade_timer_sec = 0; } - #else // __aarch64__ void __libc_init_mte(const memtag_dynamic_entries_t*, const void*, size_t, uintptr_t, void*) {} #endif // __aarch64__ @@ -505,6 +504,6 @@ extern "C" void android_set_application_target_sdk_version(int target) { // compiled with -ffreestanding to avoid implicit string.h function calls. (It shouldn't strictly // be necessary, though.) __LIBC_HIDDEN__ libc_shared_globals* __libc_shared_globals() { - BIONIC_USED_BEFORE_LINKER_RELOCATES static libc_shared_globals globals; + static libc_shared_globals globals; return &globals; } diff --git a/libc/platform/bionic/macros.h b/libc/platform/bionic/macros.h index b7817315c..93268c147 100644 --- a/libc/platform/bionic/macros.h +++ b/libc/platform/bionic/macros.h @@ -97,17 +97,3 @@ template static inline T* _Nonnull untag_address(T* _Nonnull p) { return reinterpret_cast(untag_address(reinterpret_cast(p))); } - -// MTE globals protects internal and external global variables. One of the main -// things that MTE globals does is force all global variables accesses to go -// through the GOT. In the linker though, some global variables are accessed (or -// address-taken) prior to relocations being processed. Because relocations -// haven't run yet, the GOT entry hasn't been populated, and this leads to -// crashes. Thus, any globals used by the linker prior to relocation should be -// annotated with this attribute, which suppresses tagging of this global -// variable, restoring the pc-relative address computation. -#if __has_feature(memtag_globals) -#define BIONIC_USED_BEFORE_LINKER_RELOCATES __attribute__((no_sanitize("memtag"))) -#else // __has_feature(memtag_globals) -#define BIONIC_USED_BEFORE_LINKER_RELOCATES -#endif // __has_feature(memtag_globals) diff --git a/libc/platform/bionic/mte.h b/libc/platform/bionic/mte.h index dc25098b6..73cd821b6 100644 --- a/libc/platform/bionic/mte.h +++ b/libc/platform/bionic/mte.h @@ -28,7 +28,6 @@ #pragma once -#include #include #include @@ -47,36 +46,6 @@ inline bool mte_supported() { return supported; } -inline void* get_tagged_address(const void* ptr) { -#if defined(__aarch64__) - if (mte_supported()) { - __asm__ __volatile__(".arch_extension mte; ldg %0, [%0]" : "+r"(ptr)); - } -#endif // aarch64 - return const_cast(ptr); -} - -// Inserts a random tag tag to `ptr`, using any of the set lower 16 bits in -// `mask` to exclude the corresponding tag from being generated. Note: This does -// not tag memory. -inline void* insert_random_tag(const void* ptr, __attribute__((unused)) uint64_t mask = 0) { -#if defined(__aarch64__) - if (mte_supported() && ptr) { - __asm__ __volatile__(".arch_extension mte; irg %0, %0, %1" : "+r"(ptr) : "r"(mask)); - } -#endif // aarch64 - return const_cast(ptr); -} - -// Stores the address tag in `ptr` to memory, at `ptr`. -inline void set_memory_tag(__attribute__((unused)) void* ptr) { -#if defined(__aarch64__) - if (mte_supported()) { - __asm__ __volatile__(".arch_extension mte; stg %0, [%0]" : "+r"(ptr)); - } -#endif // aarch64 -} - #ifdef __aarch64__ class ScopedDisableMTE { size_t prev_tco_; diff --git a/linker/Android.bp b/linker/Android.bp index 4e158e494..0ccd16d86 100644 --- a/linker/Android.bp +++ b/linker/Android.bp @@ -328,10 +328,6 @@ cc_defaults { sanitize: { hwaddress: false, - // TODO(mitchp): For now, disable MTE globals in the linker. MTE globals - // change the relocation semantics, and GVs that are touched before the - // linker has the chance to relocate itself have to be annotated. - memtag_globals: false, }, static_libs: [ diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp index 82f27283e..fee19f4a9 100644 --- a/linker/dlfcn.cpp +++ b/linker/dlfcn.cpp @@ -331,7 +331,6 @@ soinfo* get_libdl_info(const soinfo& linker_si) { __libdl_info->gnu_bloom_filter_ = linker_si.gnu_bloom_filter_; __libdl_info->gnu_bucket_ = linker_si.gnu_bucket_; __libdl_info->gnu_chain_ = linker_si.gnu_chain_; - __libdl_info->memtag_dynamic_entries_ = linker_si.memtag_dynamic_entries_; __libdl_info->ref_count_ = 1; __libdl_info->strtab_size_ = linker_si.strtab_size_; diff --git a/linker/linker.cpp b/linker/linker.cpp index 13ce6ef3d..135eaa380 100644 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -51,7 +51,6 @@ #include #include #include -#include // Private C library headers. @@ -2340,7 +2339,7 @@ bool do_dlsym(void* handle, void* tls_block = get_tls_block_for_this_thread(tls_module, /*should_alloc=*/true); *symbol = static_cast(tls_block) + sym->st_value; } else { - *symbol = get_tagged_address(reinterpret_cast(found->resolve_symbol_address(sym))); + *symbol = reinterpret_cast(found->resolve_symbol_address(sym)); } failure_guard.Disable(); LD_LOG(kLogDlsym, @@ -2771,11 +2770,8 @@ bool soinfo::lookup_version_info(const VersionTracker& version_tracker, ElfW(Wor } void soinfo::apply_relr_reloc(ElfW(Addr) offset) { - ElfW(Addr)* tagged_address = reinterpret_cast( - get_tagged_address(reinterpret_cast(offset + load_bias))); - ElfW(Addr) tagged_result = reinterpret_cast( - get_tagged_address(reinterpret_cast(*tagged_address + load_bias))); - *tagged_address = tagged_result; + ElfW(Addr) address = offset + load_bias; + *reinterpret_cast(address) += load_bias; } // Process relocations in SHT_RELR section (experimental). @@ -3308,18 +3304,6 @@ bool soinfo::prelink_image() { // it each time we look up a symbol with a version. if (!validate_verdef_section(this)) return false; - // MTE globals requires remapping data segments with PROT_MTE as anonymous mappings, because file - // based mappings may not be backed by tag-capable memory (see "MAP_ANONYMOUS" on - // https://www.kernel.org/doc/html/latest/arch/arm64/memory-tagging-extension.html). This is only - // done if the binary has MTE globals (evidenced by the dynamic table entries), as it destroys - // page sharing. It's also only done on devices that support MTE, because the act of remapping - // pages is unnecessary on non-MTE devices (where we might still run MTE-globals enabled code). - if (mte_supported() && memtag_globals() && memtag_globalssz() && - remap_memtag_globals_segments(phdr, phnum, base) == 0) { - tag_globals(); - protect_memtag_globals_ro_segments(phdr, phnum, base); - } - flags_ |= FLAG_PRELINKED; return true; } @@ -3391,14 +3375,6 @@ bool soinfo::link_image(const SymbolLookupList& lookup_list, soinfo* local_group return false; } - if (mte_supported() && memtag_globals() && memtag_globalssz()) { - // The linker's full path is not available until the main executable is loaded, as it's obtained - // from DT_INTERP. We manually rename the linker's segments later, but have a best-effort name - // in case we find a bug prior to loading the main executable. - const char* soname = is_linker() ? "linker" : get_realpath(); - name_memtag_globals_segments(phdr, phnum, base, soname); - } - /* Handle serializing/sharing the RELRO segment */ if (extinfo && (extinfo->flags & ANDROID_DLEXT_WRITE_RELRO)) { if (phdr_table_serialize_gnu_relro(phdr, phnum, load_bias, @@ -3431,47 +3407,6 @@ bool soinfo::protect_relro() { return true; } -// https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst#global-variable-tagging -void soinfo::tag_globals() { - if (is_linked()) return; - if (flags_ & FLAG_GLOBALS_TAGGED) return; - flags_ |= FLAG_GLOBALS_TAGGED; - - constexpr size_t kTagGranuleSize = 16; - const uint8_t* descriptor_stream = reinterpret_cast(memtag_globals()); - - if (memtag_globalssz() == 0) { - DL_ERR("Invalid memtag descriptor pool size: %zu", memtag_globalssz()); - } - - uint64_t addr = 0; - uleb128_decoder decoder(descriptor_stream, memtag_globalssz()); - // Don't ever generate tag zero, to easily distinguish between tagged and - // untagged globals in register/tag dumps. - uint64_t last_tag_mask = 1; - constexpr uint64_t kMemtagStepVarintReservedBits = 3; - - while (decoder.has_bytes()) { - uint64_t value = decoder.pop_front(); - uint64_t step = value >> kMemtagStepVarintReservedBits; - uint64_t granules_to_tag = value & ((1 << kMemtagStepVarintReservedBits) - 1); - if (granules_to_tag == 0) { - granules_to_tag = decoder.pop_front() + 1; - } - - addr += step * kTagGranuleSize; - void* tagged_addr = insert_random_tag(reinterpret_cast(addr + load_bias), last_tag_mask); - uint64_t tag = (reinterpret_cast(tagged_addr) >> 56) & 0x0f; - last_tag_mask = 1 | (1 << tag); - - for (size_t k = 0; k < granules_to_tag; k++) { - auto* granule = static_cast(tagged_addr) + k * kTagGranuleSize; - set_memory_tag(static_cast(granule)); - } - addr += granules_to_tag * kTagGranuleSize; - } -} - static std::vector init_default_namespace_no_config(bool is_asan, bool is_hwasan) { g_default_namespace.set_isolated(false); auto default_ld_paths = is_asan ? kAsanDefaultLdPaths : ( diff --git a/linker/linker_main.cpp b/linker/linker_main.cpp index c1a89293e..5f5eba468 100644 --- a/linker/linker_main.cpp +++ b/linker/linker_main.cpp @@ -44,9 +44,7 @@ #include "linker_tls.h" #include "linker_utils.h" -#include "platform/bionic/macros.h" #include "private/KernelArgumentBlock.h" -#include "private/bionic_auxv.h" #include "private/bionic_call_ifunc_resolver.h" #include "private/bionic_globals.h" #include "private/bionic_tls.h" @@ -80,8 +78,7 @@ void __libc_init_mte(const memtag_dynamic_entries_t* memtag_dynamic_entries, con // TODO (dimtiry): remove somain, rename solist to solist_head static soinfo* solist; static soinfo* sonext; -// main process, always the one after libdl_info -BIONIC_USED_BEFORE_LINKER_RELOCATES static soinfo* somain; +static soinfo* somain; // main process, always the one after libdl_info static soinfo* solinker; static soinfo* vdso; // vdso if present @@ -393,16 +390,9 @@ static ElfW(Addr) linker_main(KernelArgumentBlock& args, const char* exe_to_load interp = kFallbackLinkerPath; } solinker->set_realpath(interp); - if (solinker->memtag_globals() && solinker->memtag_globalssz()) { - name_memtag_globals_segments(solinker->phdr, solinker->phnum, solinker->load_bias, - solinker->get_realpath()); - } init_link_map_head(*solinker); #if defined(__aarch64__) - __libc_init_mte(somain->memtag_dynamic_entries(), somain->phdr, somain->phnum, somain->load_bias, - args.argv); - if (exe_to_load == nullptr) { // Kernel does not add PROT_BTI to executable pages of the loaded ELF. // Apply appropriate protections here if it is needed. @@ -414,6 +404,9 @@ static ElfW(Addr) linker_main(KernelArgumentBlock& args, const char* exe_to_load strerror(errno)); } } + + __libc_init_mte(somain->memtag_dynamic_entries(), somain->phdr, somain->phnum, somain->load_bias, + args.argv); #endif // Register the main executable and the linker upfront to have @@ -612,7 +605,7 @@ const unsigned kRelTag = DT_REL; const unsigned kRelSzTag = DT_RELSZ; #endif -BIONIC_USED_BEFORE_LINKER_RELOCATES extern __LIBC_HIDDEN__ ElfW(Ehdr) __ehdr_start; +extern __LIBC_HIDDEN__ ElfW(Ehdr) __ehdr_start; static void call_ifunc_resolvers_for_section(RelType* begin, RelType* end) { auto ehdr = reinterpret_cast(&__ehdr_start); @@ -670,16 +663,6 @@ static void linker_memclr(void* dst, size_t cnt) { } } -// Remapping MTE globals segments happens before the linker relocates itself, and so can't use -// memcpy() from string.h. This function is compiled with -ffreestanding. -void linker_memcpy(void* dest, const void* src, size_t n) { - char* dest_bytes = reinterpret_cast(dest); - const char* src_bytes = reinterpret_cast(src); - for (size_t i = 0; i < n; ++i) { - dest_bytes[i] = src_bytes[i]; - } -} - // Detect an attempt to run the linker on itself. e.g.: // /system/bin/linker64 /system/bin/linker64 // Use priority-1 to run this constructor before other constructors. diff --git a/linker/linker_main.h b/linker/linker_main.h index 53fc58bad..724f43c14 100644 --- a/linker/linker_main.h +++ b/linker/linker_main.h @@ -70,5 +70,3 @@ bool solist_remove_soinfo(soinfo* si); soinfo* solist_get_head(); soinfo* solist_get_somain(); soinfo* solist_get_vdso(); - -void linker_memcpy(void* dest, const void* src, size_t n); \ No newline at end of file diff --git a/linker/linker_phdr.cpp b/linker/linker_phdr.cpp index bec69946e..0ad0fd529 100644 --- a/linker/linker_phdr.cpp +++ b/linker/linker_phdr.cpp @@ -36,12 +36,10 @@ #include #include -#include "android-base/unique_fd.h" #include "linker.h" -#include "linker_debug.h" #include "linker_dlwarning.h" #include "linker_globals.h" -#include "linker_main.h" +#include "linker_debug.h" #include "linker_utils.h" #include "private/CFIShadow.h" // For kLibraryAlignment @@ -864,108 +862,6 @@ int phdr_table_protect_segments(const ElfW(Phdr)* phdr_table, size_t phdr_count, return _phdr_table_set_load_prot(phdr_table, phdr_count, load_bias, prot); } -static bool segment_needs_memtag_globals_remapping(const ElfW(Phdr) * phdr) { - // For now, MTE globals is only supported on writeable data segments. - return phdr->p_type == PT_LOAD && !(phdr->p_flags & PF_X) && (phdr->p_flags & PF_W); -} - -/* When MTE globals are requested by the binary, and when the hardware supports - * it, remap the executable's PT_LOAD data pages to have PROT_MTE. - * - * Input: - * phdr_table -> program header table - * phdr_count -> number of entries in tables - * load_bias -> load bias - * Return: - * 0 on success, -1 on failure (error code in errno). - */ -int remap_memtag_globals_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count, - ElfW(Addr) load_bias) { - for (const ElfW(Phdr)* phdr = phdr_table; phdr < phdr_table + phdr_count; phdr++) { - if (!segment_needs_memtag_globals_remapping(phdr)) { - continue; - } - - uintptr_t seg_page_start = page_start(phdr->p_vaddr) + load_bias; - uintptr_t seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias; - size_t seg_page_aligned_size = seg_page_end - seg_page_start; - - int prot = PFLAGS_TO_PROT(phdr->p_flags); - // For anonymous private mappings, it may be possible to simply mprotect() - // the PROT_MTE flag over the top. For file-based mappings, this will fail, - // and we'll need to fall back. We also allow PROT_WRITE here to allow - // writing memory tags (in `soinfo::tag_globals()`), and set these sections - // back to read-only after tags are applied (similar to RELRO). -#if defined(__aarch64__) - prot |= PROT_MTE; -#endif // defined(__aarch64__) - if (mprotect(reinterpret_cast(seg_page_start), seg_page_aligned_size, - prot | PROT_WRITE) == 0) { - continue; - } - - void* mapping_copy = mmap(nullptr, seg_page_aligned_size, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); - linker_memcpy(mapping_copy, reinterpret_cast(seg_page_start), seg_page_aligned_size); - - void* seg_addr = mmap(reinterpret_cast(seg_page_start), seg_page_aligned_size, - prot | PROT_WRITE, MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); - if (seg_addr == MAP_FAILED) return -1; - - linker_memcpy(seg_addr, mapping_copy, seg_page_aligned_size); - munmap(mapping_copy, seg_page_aligned_size); - } - - return 0; -} - -void protect_memtag_globals_ro_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count, - ElfW(Addr) load_bias) { - for (const ElfW(Phdr)* phdr = phdr_table; phdr < phdr_table + phdr_count; phdr++) { - int prot = PFLAGS_TO_PROT(phdr->p_flags); - if (!segment_needs_memtag_globals_remapping(phdr) || (prot & PROT_WRITE)) { - continue; - } - -#if defined(__aarch64__) - prot |= PROT_MTE; -#endif // defined(__aarch64__) - - uintptr_t seg_page_start = page_start(phdr->p_vaddr) + load_bias; - uintptr_t seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias; - size_t seg_page_aligned_size = seg_page_end - seg_page_start; - mprotect(reinterpret_cast(seg_page_start), seg_page_aligned_size, prot); - } -} - -void name_memtag_globals_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count, - ElfW(Addr) load_bias, const char* soname) { - for (const ElfW(Phdr)* phdr = phdr_table; phdr < phdr_table + phdr_count; phdr++) { - if (!segment_needs_memtag_globals_remapping(phdr)) { - continue; - } - - uintptr_t seg_page_start = page_start(phdr->p_vaddr) + load_bias; - uintptr_t seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias; - size_t seg_page_aligned_size = seg_page_end - seg_page_start; - - // For file-based mappings that we're now forcing to be anonymous mappings, set the VMA name to - // make debugging easier. The previous Android-kernel specific implementation captured the name - // by pointer from userspace, which meant we had to persist the name permanently in memory. - // Since Android13-5.10 (https://android-review.git.corp.google.com/c/kernel/common/+/1934723) - // though, we use the upstream-kernel implementation - // (https://github.com/torvalds/linux/commit/9a10064f5625d5572c3626c1516e0bebc6c9fe9b), which - // copies the name into kernel memory. It's a safe bet that any devices with Android 14 are - // using a kernel >= 5.10. - constexpr unsigned kVmaNameLimit = 80; - char vma_name[kVmaNameLimit]; - async_safe_format_buffer(vma_name, kVmaNameLimit, "memtag:%s+0x%" PRIxPTR, soname, - page_start(phdr->p_vaddr)); - prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, reinterpret_cast(seg_page_start), - seg_page_aligned_size, vma_name); - } -} - /* Change the protection of all loaded segments in memory to writable. * This is useful before performing relocations. Once completed, you * will have to call phdr_table_protect_segments to restore the original diff --git a/linker/linker_phdr.h b/linker/linker_phdr.h index 092ea5d29..98bf020ac 100644 --- a/linker/linker_phdr.h +++ b/linker/linker_phdr.h @@ -148,12 +148,3 @@ void phdr_table_get_dynamic_section(const ElfW(Phdr)* phdr_table, size_t phdr_co const char* phdr_table_get_interpreter_name(const ElfW(Phdr)* phdr_table, size_t phdr_count, ElfW(Addr) load_bias); - -int remap_memtag_globals_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count, - ElfW(Addr) load_bias); - -void protect_memtag_globals_ro_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count, - ElfW(Addr) load_bias); - -void name_memtag_globals_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count, - ElfW(Addr) load_bias, const char* soname); diff --git a/linker/linker_relocate.cpp b/linker/linker_relocate.cpp index 1ee7bc63b..952dade9e 100644 --- a/linker/linker_relocate.cpp +++ b/linker/linker_relocate.cpp @@ -44,8 +44,6 @@ #include "linker_soinfo.h" #include "private/bionic_globals.h" -#include - static bool is_tls_reloc(ElfW(Word) type) { switch (type) { case R_GENERIC_TLS_DTPMOD: @@ -159,19 +157,12 @@ void print_linker_stats() { static bool process_relocation_general(Relocator& relocator, const rel_t& reloc); -static ElfW(Addr) apply_memtag(ElfW(Addr) sym_addr) { - if (sym_addr == 0) return sym_addr; // Handle undefined weak symbols. - - return reinterpret_cast(get_tagged_address(reinterpret_cast(sym_addr))); -} - template __attribute__((always_inline)) static bool process_relocation_impl(Relocator& relocator, const rel_t& reloc) { constexpr bool IsGeneral = Mode == RelocMode::General; - void* const rel_target = - reinterpret_cast(apply_memtag(reloc.r_offset + relocator.si->load_bias)); + void* const rel_target = reinterpret_cast(reloc.r_offset + relocator.si->load_bias); const uint32_t r_type = ELFW(R_TYPE)(reloc.r_info); const uint32_t r_sym = ELFW(R_SYM)(reloc.r_info); @@ -334,7 +325,7 @@ static bool process_relocation_impl(Relocator& relocator, const rel_t& reloc) { // common in non-platform binaries. if (r_type == R_GENERIC_ABSOLUTE) { count_relocation_if(kRelocAbsolute); - const ElfW(Addr) result = apply_memtag(sym_addr) + get_addend_rel(); + const ElfW(Addr) result = sym_addr + get_addend_rel(); trace_reloc("RELO ABSOLUTE %16p <- %16p %s", rel_target, reinterpret_cast(result), sym_name); *static_cast(rel_target) = result; @@ -344,29 +335,16 @@ static bool process_relocation_impl(Relocator& relocator, const rel_t& reloc) { // document (IHI0044F) specifies that R_ARM_GLOB_DAT has an addend, but Bionic isn't adding // it. count_relocation_if(kRelocAbsolute); - ElfW(Addr) result = apply_memtag(sym_addr) + get_addend_norel(); - trace_reloc("RELO GLOB_DAT %16p <- %16p %s", rel_target, reinterpret_cast(result), - sym_name); + const ElfW(Addr) result = sym_addr + get_addend_norel(); + trace_reloc("RELO GLOB_DAT %16p <- %16p %s", + rel_target, reinterpret_cast(result), sym_name); *static_cast(rel_target) = result; return true; } else if (r_type == R_GENERIC_RELATIVE) { // In practice, r_sym is always zero, but if it weren't, the linker would still look up the // referenced symbol (and abort if the symbol isn't found), even though it isn't used. count_relocation_if(kRelocRelative); - ElfW(Addr) result; - // MTE globals reuses the place bits for additional tag-derivation metadata for - // R_AARCH64_RELATIVE relocations, which makes it incompatible with - // `-Wl,--apply-dynamic-relocs`. This is enforced by lld, however there's nothing stopping - // Android binaries (particularly prebuilts) from building with this linker flag if they're - // not built with MTE globals. Thus, don't use the new relocation semantics if this DSO - // doesn't have MTE globals. - if (relocator.si->memtag_globals() && relocator.si->memtag_globalssz()) { - int64_t* place = static_cast(rel_target); - int64_t offset = *place; - result = apply_memtag(relocator.si->load_bias + get_addend_rel() + offset) - offset; - } else { - result = relocator.si->load_bias + get_addend_rel(); - } + const ElfW(Addr) result = relocator.si->load_bias + get_addend_rel(); trace_reloc("RELO RELATIVE %16p <- %16p", rel_target, reinterpret_cast(result)); *static_cast(rel_target) = result; diff --git a/linker/linker_sleb128.h b/linker/linker_sleb128.h index f48fda8c9..6bb31997d 100644 --- a/linker/linker_sleb128.h +++ b/linker/linker_sleb128.h @@ -69,32 +69,3 @@ class sleb128_decoder { const uint8_t* current_; const uint8_t* const end_; }; - -class uleb128_decoder { - public: - uleb128_decoder(const uint8_t* buffer, size_t count) : current_(buffer), end_(buffer + count) {} - - uint64_t pop_front() { - uint64_t value = 0; - - size_t shift = 0; - uint8_t byte; - - do { - if (current_ >= end_) { - async_safe_fatal("uleb128_decoder ran out of bounds"); - } - byte = *current_++; - value |= (static_cast(byte & 127) << shift); - shift += 7; - } while (byte & 128); - - return value; - } - - bool has_bytes() { return current_ < end_; } - - private: - const uint8_t* current_; - const uint8_t* const end_; -}; diff --git a/linker/linker_soinfo.h b/linker/linker_soinfo.h index 092cbcc87..622719d18 100644 --- a/linker/linker_soinfo.h +++ b/linker/linker_soinfo.h @@ -66,10 +66,9 @@ // soinfo is executed and this flag is // unset. #define FLAG_PRELINKED 0x00000400 // prelink_image has successfully processed this soinfo -#define FLAG_GLOBALS_TAGGED 0x00000800 // globals have been tagged by MTE. #define FLAG_NEW_SOINFO 0x40000000 // new soinfo format -#define SOINFO_VERSION 7 +#define SOINFO_VERSION 6 ElfW(Addr) call_ifunc_resolver(ElfW(Addr) resolver_addr); @@ -258,8 +257,6 @@ struct soinfo { const android_dlextinfo* extinfo, size_t* relro_fd_offset); bool protect_relro(); - void tag_globals(); - void add_child(soinfo* child); void remove_all_links();