platform_bionic/libc
Mitch Phillips 2210b8d542 [Tagged Pointers] Allow probing the current TP level w/ locking.
aosp/1484976 introduced a breaking change where
DisableMemoryMitigations() now indiscriminately turns tagged pointers
off. When android_mallopt(M_DISABLE_MEMORY_MITIGATIONS) is called, the
correct behaviour is:
 - In SYNC/ASYNC MTE mode -> disable all tagged pointers.
 - If all tagged pointers are already disabled -> nop.
 - If we're in TBI mode -> nop (keep the TBI mode as-is).

In order to do that we have to allow probing of the current heap tagging
mode. In order to prevent TOCTOU between GetHeapTaggingLevel() and
SetHeapTaggingLevel(), we expose a global mutex that should be held when
calling these functions.

Bug: 174263432
Test: atest CtsTaggingHostTestCases on Flame
Change-Id: Ia96f7269d542c9041270458806aee36766d2fbbb
2020-11-30 10:49:03 -08:00
..
arch-arm More cleanup for #inclusivefixit. 2020-07-31 10:35:03 -07:00
arch-arm64 libc: Add Armv8.3-A PAuth and Armv8.5-A BTI compatibility to *.S 2020-09-04 11:29:12 +02:00
arch-common/bionic Put __*_ARRAY__ symbols before prioritized init/fini funcs 2020-11-02 17:28:41 -08:00
arch-x86 x86/x86_64: cleanup signal trampolines 2020-09-25 15:58:42 -07:00
arch-x86_64 x86/x86_64: cleanup signal trampolines 2020-09-25 15:58:42 -07:00
async_safe Add "product_available" to product available modules 2020-11-11 15:29:47 +09:00
bionic [Tagged Pointers] Allow probing the current TP level w/ locking. 2020-11-30 10:49:03 -08:00
dns Make more functions weak for native bridge 2020-10-13 17:03:15 -07:00
include Update to v5.9 kernel headers. 2020-10-19 15:48:58 -07:00
kernel Update to v5.9 kernel headers. 2020-10-19 15:48:58 -07:00
malloc_debug alloc_debug: get load_bias error 2020-09-28 07:15:32 +00:00
malloc_hooks Work around issues with aligned_alloc() and -O2. 2020-09-24 17:17:57 -07:00
platform Change the android_mallopt(M_SET_HEAP_TAGGING_LEVEL) API. 2020-11-18 10:24:29 -08:00
private Merge "x86/x86_64: cleanup signal trampolines" 2020-10-02 23:26:27 +00:00
seccomp Use more inclusive language for seccomp filter 2020-06-15 10:12:17 -07:00
stdio Various coverage improvements. 2020-08-12 15:52:14 -07:00
system_properties Add benchmark for property mapping 2020-09-02 16:12:21 +00:00
tools libc: Prepare support for Armv8.3-A PAuth and Armv8.5-A BTI in *.S 2020-09-04 11:28:43 +02:00
tzcode Incorporate upstream's strptime %Z/%z support. 2020-09-01 19:11:28 -07:00
upstream-freebsd Fully disable clang format where needed. 2020-01-30 08:10:17 -08:00
upstream-netbsd Reimplement our no-op utmp.h functions more simply. 2020-08-07 17:07:31 -07:00
upstream-openbsd Switch to musl memmem (via OpenBSD). 2020-08-06 14:33:48 -07:00
versioner-dependencies Stop generating unused headers. 2020-02-03 17:56:06 -08:00
Android.bp Add "product_available" to product available modules 2020-11-11 15:29:47 +09:00
fs_config_generator.py
libc.map.txt Expose per-process memory init. 2020-10-09 00:33:30 +00:00
libstdc++.map.txt Remove dead code. 2020-02-13 22:25:02 -08:00
MODULE_LICENSE_BSD
NOTICE Add benchmark for property mapping 2020-09-02 16:12:21 +00:00
SECCOMP_ALLOWLIST_APP.TXT Use more inclusive language for seccomp filter 2020-06-15 10:12:17 -07:00
SECCOMP_ALLOWLIST_COMMON.TXT Use more inclusive language for seccomp filter 2020-06-15 10:12:17 -07:00
SECCOMP_ALLOWLIST_SYSTEM.TXT Use more inclusive language for seccomp filter 2020-06-15 10:12:17 -07:00
SECCOMP_BLOCKLIST_APP.TXT Use more inclusive language for seccomp filter 2020-06-15 10:12:17 -07:00
SECCOMP_BLOCKLIST_COMMON.TXT Revert "Disallow vmsplice(2) for all zygote-spawned processes." 2020-06-23 17:53:35 +00:00
SECCOMP_PRIORITY.TXT Use more inclusive language for seccomp filter 2020-06-15 10:12:17 -07:00
SYSCALLS.TXT fdtrack: add wrapper for socketpair. 2020-04-29 17:21:16 -07:00
version_script.txt