aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-18Merge "Merge "mntent_test: don't assume /proc isn't the first mount." into ↵android11-tests-devAutomerger Merge Worker
android10-tests-dev am: 0462cfb766" into android11-tests-dev
2022-05-18Merge "mntent_test: don't assume /proc isn't the first mount." into ↵Shubhangi Pawar
android10-tests-dev am: 0462cfb766 Original change: https://android-review.googlesource.com/c/platform/bionic/+/2098734 Change-Id: I92a208d548197b48fc35082b5e219895bf16a904 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-18Merge "mntent_test: don't assume /proc isn't the first mount." into ↵android10-tests-devShubhangi Pawar
android10-tests-dev
2022-05-16mntent_test: don't assume /proc isn't the first mount.Elliott Hughes
This test tried to be lazy and test both getmntent() and getmntent_r() in the same test, but that led to an implicit assumption that /proc isn't the first mount returned. This new version is quite a bit more thorough than the old. It does assume that the mount list doesn't change while the test is running, but that seems like a reasonable assumption to make during CTS? Bug: https://issuetracker.google.com/230228681 Test: treehugger Change-Id: I5c5f0b86ae1c4df9a2ce69d48e1c3accb42c687b (cherry picked from commit 1e393b0699745d6120d2fd43f58dc3d5863e3b87)
2022-04-27Merge "Fix unistd.exec_argv0_null for new kernels." into android11-tests-devTreehugger Robot
2022-04-27Merge "Merge "Fix unistd.exec_argv0_null for new kernels." into ↵Automerger Merge Worker
android10-tests-dev am: 16457fd9d0" into android11-tests-dev
2022-04-27Merge "Fix unistd.exec_argv0_null for new kernels." into android10-tests-dev ↵Treehugger Robot
am: 16457fd9d0 Original change: https://android-review.googlesource.com/c/platform/bionic/+/2078358 Change-Id: I70cff5fe0a62321c8d71d1e88f616a21b4879cf8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-27Merge "Fix unistd.exec_argv0_null for new kernels." into android10-tests-devTreehugger Robot
2022-04-27Fix unistd.exec_argv0_null for new kernels.Elliott Hughes
There are other options here (see the code comment for details), but this is the least effort/least disruptive for now. Bug: 228898932, 227498625 Test: treehugger Change-Id: I33be6fbfc022238de2f1846a69af1e712a9d6391 (cherry picked from commit bb1cc5a82c8e19d5f4231988ba48ce3de43ff3ed)
2022-04-27Fix unistd.exec_argv0_null for new kernels.Elliott Hughes
There are other options here (see the code comment for details), but this is the least effort/least disruptive for now. Bug: 228898932, 227498625 Test: treehugger Change-Id: I33be6fbfc022238de2f1846a69af1e712a9d6391 (cherry picked from commit bb1cc5a82c8e19d5f4231988ba48ce3de43ff3ed)
2020-10-23Merge "Merge "Fix possible issue with cfi_basic test." into ↵Automerger Merge Worker
android10-tests-dev am: 3144bf7b69" into android11-tests-dev
2020-10-23Merge "Fix possible issue with cfi_basic test." into android10-tests-dev am: ↵Treehugger Robot
3144bf7b69 Original change: https://android-review.googlesource.com/c/platform/bionic/+/1450415 Change-Id: Ie89af84c17f67c94225f134a0e04204cd1e57d22
2020-10-23Merge "[automerger skipped] Merge "Remove stack address check in cfi_basic ↵Automerger Merge Worker
test." into android10-tests-dev am: c9608ab2e2 -s ours" into android11-tests-dev
2020-10-23[automerger skipped] Merge "Remove stack address check in cfi_basic test." ↵Treehugger Robot
into android10-tests-dev am: c9608ab2e2 -s ours am skip reason: skipped by user eugenis Original change: https://android-review.googlesource.com/c/platform/bionic/+/1371143 Change-Id: I1d9eacd730944d1d88902c1181eb94e6214b2f87
2020-10-23Merge "[automerger skipped] Merge "Fix linker path for emulated ↵Automerger Merge Worker
architecture" into android10-tests-dev am: ce45ee1184 -s ours" into android11-tests-dev
2020-10-23[automerger skipped] Merge "Fix linker path for emulated architecture" into ↵Treehugger Robot
android10-tests-dev am: ce45ee1184 -s ours am skip reason: skipped by user levarum Original change: https://android-review.googlesource.com/c/platform/bionic/+/1183110 Change-Id: I6eca03a9723fc6b6718d91ebe1b5e336c3f899ae
2020-10-23Merge "[automerger skipped] Merge "Fix Bionic dlfcn.dladdr_libc test case ↵Automerger Merge Worker
for 64bit binary translations" into android10-tests-dev am: 3382f346fc -s ours" into android11-tests-dev
2020-10-23[automerger skipped] Merge "Fix Bionic dlfcn.dladdr_libc test case for 64bit ↵Treehugger Robot
binary translations" into android10-tests-dev am: 3382f346fc -s ours am skip reason: skipped by user rossyeh Original change: https://android-review.googlesource.com/c/platform/bionic/+/1164119 Change-Id: Iab08e02254da66d35ce81c4b694b93ec6f49323d
2020-10-20Merge "Merge "Stop executing if skip occurs." into android10-tests-dev am: ↵Automerger Merge Worker
1e4793561f" into android11-tests-dev
2020-10-20Merge "Stop executing if skip occurs." into android10-tests-dev am: 1e4793561fTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/bionic/+/1126826 Change-Id: I6385d19a05099103299ea21c7804a72cd0e47e26
2020-10-19Merge "Skip pthread_leak* tests with native_bridge" into android11-tests-devTreehugger Robot
2020-10-19Merge "Skip MTE tests with native_bridge" into android11-tests-devTreehugger Robot
2020-10-19Skip pthread_leak* tests with native_bridgeEvgeny Eltsin
Bug: 37920774 Bug: 157394871 Test: bionic-unit-tests --gtest_filter=*leak* Change-Id: Ifc5b66e4b640d1abae4dcf8dbc28612d24c7e972 (cherry picked from commit 45b36c2921c8d5986820d4c07864c7366ad7efd6)
2020-10-19Skip MTE tests with native_bridgeEvgeny Eltsin
With native_bridge, native and emulated parts exchange data, including pointers. If tagging on native architecture is different from tagging on emulated architecture, all the pointers in the data exchange must be identified and marshalled, which is hardly feasible. Disable MTE tests with native_bridge. Bug: 135772972 Bug: 159352723 Test: bionic-unit-tests --gtest_filter=*mte* Change-Id: Icba90636173e9e71036def5302c7d0a09dd8873b (cherry picked from commit ed51fb9a078aa57bc0e8a1c8a71f69275f00edf9)
2020-10-10Merge "Fix possible issue with cfi_basic test." into android10-tests-devTreehugger Robot
2020-10-06Fix possible issue with cfi_basic test.pyung.lee
It's possible for malloc to return a pointer that is not going to crash with __cfi_slowpath. It's possible to modify the cfi code to avoid this problem, but I'm not convinced that this will be any better at catching problems. So I'm just modifying the test so that it will eventually allocate a pointer that does not overlap. This previous version of the test failed on jemalloc svelte config, but there is nothing that would not result in a failure on scudo leading to a failure every once in a while. Bug: 142556796 Bug: 140079007 Test: cts -m CtsBionicTestCases Change-Id: Ibf12a286c411e0bdc9f81589f2f66fd0ccd7f07a (cherrypick of f322483b3f8a6e05db5c3fc7974601032a03ba0a)
2020-09-18Merge changes I42a81210,I42ce2b5a,Id949c9e5 into android11-tests-devTreehugger Robot
* changes: Skip android_unsafe_frame_pointer_chase.pthread with native bridge Skip pthread.pthread_create__mmap_failures with native_bridge Add util to skip tests with native_bridge
2020-09-17Skip android_unsafe_frame_pointer_chase.pthread with native bridgeEvgeny Eltsin
Bug: 167968941 Bug: 161082441 Test: bionic-unit-tests --gtest_filter=android_unsafe_frame_pointer_chase.pthread Change-Id: I42a8121003be2fbcd1486b0d5281bc60ac67eb22
2020-09-17Skip pthread.pthread_create__mmap_failures with native_bridgeEvgeny Eltsin
The test reserves all memory but the minimum required to create a thread. However, after the thread is created, native_bridge needs more memory to translate and run the thread function. This might be prevented by native_bridge preallocating a memory buffer to be used for translation. But, first, this complication seems to be needed just for this kind of tests, and, second, it is pretty flaky regarding changes both in native_bridge and bionic. Looks better to disable this test with native_bridge. Bug: 67745607 Bug: 148608153 Bug: 157394871 Test: bionic-unit-tests --gtest_filter=pthread.pthread_create__mmap_failures Change-Id: I42ce2b5a01a7d9f10d952a5fc7b75d51fa89072a (cherry picked from commit b4f7aaac5cdda45ff0d9dc58e1fd2d727601f619)
2020-09-17Add util to skip tests with native_bridgeEvgeny Eltsin
Bug: 37920774 Bug: 157394871 Test: bionic-unit-tests Change-Id: Id949c9e568fd068daaf405a377813ee1480c2df7 (cherry picked from commit b56d1182d1067e70910584cf0c8fd797a262d82a)
2020-08-11Remove stack address check in cfi_basic test.Evgenii Stepanov
This is not actually a property that is guaranteed by the bionic implementation of CFI shadow. Since the gaps between libraries are not completely inaccessible, it is possible for a stack mapping to sneak in, which would cause the callback to register in the test library. This is not a correctness issue in CFI as the actual __cfi_check callback will reject such address anyway, at a small CPU cost. Bug: 156218352 Test: CtsBionicTestCases-cfi_test#basic Change-Id: I8d04fb7132e1eac2a8abfbc48a37c8eac6e25a09 Merged-In: I8d04fb7132e1eac2a8abfbc48a37c8eac6e25a09 (cherry picked from commit 0f6b504e0c682e7c3d377416dacfe57b6c59f1b8)
2020-07-29Merge "Remove stack address check in cfi_basic test." into android10-tests-devTreehugger Robot
2020-07-23Remove stack address check in cfi_basic test.Evgenii Stepanov
This is not actually a property that is guaranteed by the bionic implementation of CFI shadow. Since the gaps between libraries are not completely inaccessible, it is possible for a stack mapping to sneak in, which would cause the callback to register in the test library. This is not a correctness issue in CFI as the actual __cfi_check callback will reject such address anyway, at a small CPU cost. Bug: 156218352 Test: CtsBionicTestCases-cfi_test#basic Change-Id: I8d04fb7132e1eac2a8abfbc48a37c8eac6e25a09 (cherry picked from commit 0f6b504e0c682e7c3d377416dacfe57b6c59f1b8)
2020-07-10Don't test pw_shell for old vendor imagesandroid11-devTom Cherry
R GSI on P product tests fail since pw_shell has changed. This value has no practical use on Android, so we ignore testing it for older vendor images. Bug: 160937247 Test: this test does/doesn't run appropriately Merged-In: Ie485bd019b3826e71ad19131effcbb002f888d52 Change-Id: Ie485bd019b3826e71ad19131effcbb002f888d52 (cherry picked from commit b9fa04d805912d58d920ccd1a7af77daf81293e7)
2020-06-09Move set_cached_pid() to __clone_for_fork()Lev Rumyantsev
Bug: 145028007 Test: bionic-unit-tests Merged-In: I3c697924f2a3ef1804a688dd1fe9669f6b7a71bf Change-Id: I3c697924f2a3ef1804a688dd1fe9669f6b7a71bf (cherry picked from commit 3a4c2ffff80402f6c250f1491302aa7d65411349)
2020-06-09Remove WEAK_FOR_NATIVE_BRIDGE for forkLev Rumyantsev
Bug: 145028007 Test: bionic-unit-tests Merged-In: I0b019cd08c9d7426a953bd199f2ecd6dd42db00e Change-Id: I0b019cd08c9d7426a953bd199f2ecd6dd42db00e (cherry picked from commit 520398ffe90a45e2f2a85f56230055f9f2f6bf02)
2020-06-09Narrow native bridge to clone_for_forkLev Rumyantsev
We are removing native bridge copy of fork.cpp, but need to replace call to clone() when it's done for bionic's fork. The code here will run all pre-/post-clone routines for *guest*, while native bridge implementation will need to run the corresponding *host* routines. Bug: 145028007 Test: bionic-unit-tests Merged-In: Ic5524e743caa287d7aaa8dc7e5d34acd1c7e1170 Change-Id: Ic5524e743caa287d7aaa8dc7e5d34acd1c7e1170 (cherry picked from commit 41127dca3d08e5eb350b678ee03eae30ab779921)
2020-06-05Use PROT_NONE on the unused parts of CFI shadow.Evgenii Stepanov
This replaces a single 2Gb readable memory region with a bunch of tiny regions, and leaves the bulk of 2Gb mapped but unaccessible. This makes it harder to defeat ASLR by probing for the CFI shadow region. Sample CFI shadow mapping with this change: 7165151000-716541f000 ---p 00000000 00:00 0 [anon:cfi shadow] 716541f000-7165420000 r--p 00000000 00:00 0 [anon:cfi shadow] 7165420000-71654db000 ---p 00000000 00:00 0 [anon:cfi shadow] 71654db000-71654dc000 r--p 00000000 00:00 0 [anon:cfi shadow] 71654dc000-71654dd000 r--p 00000000 00:00 0 [anon:cfi shadow] 71654dd000-71654f0000 ---p 00000000 00:00 0 [anon:cfi shadow] 71654f0000-71654f1000 r--p 00000000 00:00 0 [anon:cfi shadow] 71654f1000-71e5151000 ---p 00000000 00:00 0 [anon:cfi shadow] This change degrades CFI diagnostics for wild jumps and casts (i.e. when the target of a CFI check is outside of any known library bounds). This is acceptable, because CFI does not have much to tell about those cases anyway. Such bugs will show up as SEGV_ACCERR crashes inside __cfi_slowpath in libdl.so from now on. Bug: 158113540 Test: bionic-unit-tests/cfi_test.* Test: adb shell cat /proc/$PID/maps | grep cfi Change-Id: I57cbd0d3f87eb1610ad99b48d98ffd497ba214b4
2020-06-03Handle the alternate signal stack correctly in ↵Peter Collingbourne
android_unsafe_frame_pointer_chase. If an alternate signal stack is set and the frame record is in bounds of that stack, we need to use the top of the alternate signal stack for bounds checking rather than the normal stack. Bug: 150215618 Change-Id: I78b760d61b27da44f8e0cfee3fe94a791011fe58 Merged-In: I78b760d61b27da44f8e0cfee3fe94a791011fe58
2020-05-30Copy translateSystemPathToApexPath to linker_translate_path.cppVictor Khimenko
Bug: http://b/156397945 Test: m Merged-In: I33f11b8a6a41475b6cdd65e1ff49b2084c33b197 Change-Id: I33f11b8a6a41475b6cdd65e1ff49b2084c33b197 (cherry picked from commit d15229df76e78337532c19d42c01b2c51db8f2f1)
2020-05-30Allow native_bridge linker to use different APEX from native oneVictor Khimenko
Bug: http://b/156397945 Test: dlfcn.dlopen_system_libicuuc_android_api_level_28 with native_bridge Merged-In: I3ecd929a0c31dda8cd424795f21f6ef472776557 Change-Id: I3ecd929a0c31dda8cd424795f21f6ef472776557 (cherry picked from commit 01790fdc6928a34125f092bbf98e9217a2251fa5)
2020-05-26Ignore SCUDO_OPTIONS across a security boundary.Christopher Ferris
Add SCUDO_OPTIONS to the list of the environment variables that should not be preserved across a security boundary. Bug: 157484128 Test: Builds and boots. Change-Id: Id8644608114ad2fd49baedbdbbe1c899768bd54d (cherry picked from commit ad3be7e649e755c0895dbae378a5c88ae3bddb90)
2020-05-21Fix deadlock/timeout in thread unwinding.Christopher Ferris
When malloc debug is enabled, using libbacktrace to unwind can result in a deadlock. This happens when an unwind of a thread is occuring which triggers a signal to be sent to that thread. If that thread is interrupted while a malloc debug function is executing and owns a lock, that thread is then stuck in the signal handler. Then the original unwinding thread attempts to do an allocation and gets stuck waiting for the same malloc debug lock. This is not a complete deadlock since the unwinder has timeouts, but it results in truncated unwinds that take at least five seconds to complete. Only the backtrace signals needs to be blocked because it is the only known signal that will result in a thread being paused in a signal handler. Also, added a named signal in the reserved signal list for the special bionic backtrace signal. Bug: 150833265 Test: New unit tests pass with fix, fail without fix. Change-Id: If3e41f092ebd40ce62a59ef51d636a91bc31ed80 (cherry picked from commit 9bf7817dd29d15ea49c88436db4067d87fc7e6c4)
2020-05-18Merge "Speed up seccomp with priority list." into rvc-devBram Bonné
2020-05-15Speed up seccomp with priority list.Bram Bonné
Allow to provide a list of prioritized syscalls (e.g., syscalls that we know occur often) which are checked before other syscalls in seccomp. When constructing the bpf seccomp filter, traverse prioritized syscalls in a linear list before checking all other syscalls in a binary tree. Bug: 156732794 Test: make, inspect generated *_system_policy.cpp files Test: simpleperf on futex/ioctl-heavy app seems to show 5-10% less time spent in seccomp call Change-Id: I509343bcd32ada90c0591785ab5cb12d2a38c31e
2020-05-13Set min_sdk_version for mainline dependenciesJooyung Han
To enforce all modules included in mainline modules(apex/apk), modules should set min_sdk_version which is the minimum sdk versions that compiled artifacts run against. Setting this doesn't change build output. (While cherry-picking s/29/apex_inherit) Bug: 145796956 Test: m Merged-In: Ibbe3771592677d729c81343fe00859c0afa81918 Change-Id: Ibbe3771592677d729c81343fe00859c0afa81918 (cherry picked from commit 15c32a8e1aa0f7754b5b25bb6c160b5d8b8b49c3)
2020-05-12fdtrack: don't do anything while vforked.Josh Gao
Bug: http://b/153926671 Test: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator Change-Id: If42905f3d6a76ed70a45e5b9edd029ffd7789045 (cherry picked from commit 41291131284471eed7cb6c22cac8b442fd3d1c52)
2020-05-12fdsan: don't do anything when vforked.Josh Gao
Bug: http://b/153926671 Test: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator Change-Id: Id351a993e396774b68239edfef83d9e81205290b (cherry picked from commit 65fb2a7f0304fda4463771ae40f8b83728e74a62)
2020-05-12Track whether a thread is currently vforked.Josh Gao
Our various fd debugging facilities get extremely confused by a vforked process closing file descriptors in preparation to exec: fdsan can abort, and fdtrack will delete backtraces for any file descriptors that get closed. Keep track of whether we're in a vforked child in order to be able to detect this. Bug: http://b/153926671 Test: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator Change-Id: I8a082fd06bfdfef0e2a88dbce350b6f667f7df9f (cherry picked from commit 230328374018c7ca4e82a47ff4eb91dd2f79a5c3)
2020-05-07Add goldfish-opengl to use bionic_libc_platform_headersRoman Kiryanov
We need __get_tls and TLS_SLOT_OPENGL for our OpenGL implementation. We currently use .mk files and this restriction does not apply, since we are migrating to .bp we need to address restriction. Bug: 154151802 Test: presubmit Signed-off-by: Roman Kiryanov <rkir@google.com> Merged-In: I007664d919204cd4f6a623f9695a56e94bab7ae6 Change-Id: I6616331b03649eb19ceeb8121d56e55a9270548a