Commit graph

31652 commits

Author SHA1 Message Date
Christopher Ferris
3c9cd8a29d Merge "Fix deadlock/timeout in thread unwinding." 2020-05-21 16:13:37 +00:00
Neil Fuller
2b76a94c68 Track name changes in the tzdata format
The tzdata format has changed:

Firstly, there is now a "final_offset", which serves as a pointer to the
beginning of the section after the last known section. The pointer means
that file size is no longer a factor when reading the last section and
new sections could be added to the end of the file in future in a
backwards compatible way.

Secondly, since nothing uses zone.tab on Android it is being removed and
the zonetab_offset is replaced by final_offset.

The net effect for bionic is zero besides some comment / name changes.

Test: build only
Change-Id: Ia315083879c891f2d3fc84cf48e304c323ca89f2
2020-05-21 14:59:19 +01:00
Christopher Ferris
9bf7817dd2 Fix deadlock/timeout in thread unwinding.
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
2020-05-20 18:18:54 -07:00
Josh Gao
cd73d27768 Merge "sigaction: don't call interposable symbol." am: 867b46a2ca
Change-Id: I62f38373c60e2c281a5d1d0e8c4fcf4054ea2b15
2020-05-20 21:51:00 +00:00
Josh Gao
867b46a2ca Merge "sigaction: don't call interposable symbol." 2020-05-20 21:36:49 +00:00
vichang
ae5d43caa9 Merge "Revert "Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish"" am: cacda52a0a
Change-Id: Ida8a33d89e6fd935770afa8d15348bd4e87814c3
2020-05-20 16:21:52 +00:00
vichang
cacda52a0a Merge "Revert "Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish"" 2020-05-20 16:01:53 +00:00
Josh Gao
11623dd60d sigaction: don't call interposable symbol.
Ensure we don't call sigchain's sigaction64 from bionic's sigaction by
extracting sigaction64 to a static function.

Test: treehugger
Change-Id: I16226c6ac580ece7000c335beb1d3b76429d2a06
2020-05-19 18:40:50 -07:00
Treehugger Robot
2737246d29 Merge "Expand a little on the time_t situation." am: 071d071646
Change-Id: Ie8ad22c1ba0d0cd406d083894ad9f1a4ef620ccf
2020-05-20 00:45:45 +00:00
Treehugger Robot
071d071646 Merge "Expand a little on the time_t situation." 2020-05-20 00:26:52 +00:00
Elliott Hughes
1cd4d4227a Expand a little on the time_t situation.
Since we last touched this file, the Linux kernel has added the missing
API, but time has also moved on enough to make the cost/benefit
unconvincing for Android.

Bug: http://b/156317457
Test: treehugger
Change-Id: I07fa678458ef10d15540b36ab65e0898d2fdadc6
2020-05-19 12:41:25 -07:00
Victor Khimenko
95077fdfe4 Merge "Refactor translateSystemPathToApexPath" am: ba198d5084
Change-Id: I530abbb026b5f96dc3c4d83833f0a8b7c4fda18a
2020-05-19 10:03:15 +00:00
Victor Khimenko
ba198d5084 Merge "Refactor translateSystemPathToApexPath" 2020-05-19 09:48:43 +00:00
Bram Bonné
be4ba01ce1 Merge "Speed up seccomp with priority list." am: 4c093efdff
Change-Id: I7e6d7be2b1ff59ac4f83441ec6919c5007b90557
2020-05-19 08:13:38 +00:00
Bram Bonné
4c093efdff Merge "Speed up seccomp with priority list." 2020-05-19 07:38:07 +00:00
Victor Khimenko
9b3e026c8f Refactor translateSystemPathToApexPath
This is more efficient and easier to read.

Test: bionic-unit-tests --gtest_filter=*icu*

Change-Id: Iddeed7cd4a1d48d8968f97951a9af004ccce52e8
2020-05-19 02:32:07 +02:00
Treehugger Robot
fd9af3fc35 Merge "Revert "Temporarily disable FdsanTest.vfork."" am: 0b2dc97fa6
Change-Id: I20a3ce7e0e2dfdea13944549ead39203b2e10d47
2020-05-18 21:36:19 +00:00
Treehugger Robot
0b2dc97fa6 Merge "Revert "Temporarily disable FdsanTest.vfork."" 2020-05-18 21:22:38 +00:00
Josh Gao
54e502e66a Revert "Temporarily disable FdsanTest.vfork."
This reverts commit b4cbff351f.

Bug: http://b/156400255
Test: none
Change-Id: I3a936542ccff8989b4671f3e03dd9d1d5559d6ff
2020-05-18 12:59:38 -07:00
Bram Bonné
acadd09c66 Speed up seccomp with priority list.
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
(cherry picked from commit ce84677733)
2020-05-18 11:20:30 +02:00
Victor Khimenko
2befdf2f1e Merge "Allow native_bridge linker to use different APEX from native one" am: 57a1c3908f
Change-Id: I28c0d5e38896038fd92239fe67102cde80d08f3d
2020-05-16 01:24:14 +00:00
Victor Khimenko
57a1c3908f Merge "Allow native_bridge linker to use different APEX from native one" 2020-05-16 01:05:55 +00:00
vichang
b8cd7e7f58 Revert "Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish"
This reverts commit 01fb8d7120.

Reason for revert: Re-land the test after fixing b/156397945

Bug: 156397945
Change-Id: Ie9ec5fef7a308e28d512c6438c5c06758bdbcf06
2020-05-15 22:01:00 +00:00
Victor Khimenko
01790fdc69 Allow native_bridge linker to use different APEX from native one
Bug: http://b/156397945

Test: dlfcn.dlopen_system_libicuuc_android_api_level_28 with native_bridge

Change-Id: I3ecd929a0c31dda8cd424795f21f6ef472776557
2020-05-15 20:56:22 +00:00
Christopher Ferris
e58aca31fd Merge "Remove reference to deprecated option." am: 3d238a895c
Change-Id: Ic0afc4e392a15b4c00b785848768e3fa37aabf45
2020-05-15 15:42:32 +00:00
Christopher Ferris
3d238a895c Merge "Remove reference to deprecated option." 2020-05-15 15:28:43 +00:00
Victor Khimenko
7eff269314 Merge "Copy translateSystemPathToApexPath to linker_translate_path.cpp" am: e145aae949
Change-Id: Icdff2f370cbbcb9e319a3013f3d5c84dd8414b07
2020-05-15 13:46:51 +00:00
Victor Khimenko
e145aae949 Merge "Copy translateSystemPathToApexPath to linker_translate_path.cpp" 2020-05-15 13:30:22 +00:00
Treehugger Robot
e0a4495a26 Merge "Add Bionic module SDK." am: 6972d40571
Change-Id: I8816aa227f000ba1cfc420bc55a231fdbb09c94b
2020-05-15 12:31:40 +00:00
Treehugger Robot
6972d40571 Merge "Add Bionic module SDK." 2020-05-15 12:29:36 +00:00
Christopher Ferris
11f92fe9b9 Remove reference to deprecated option.
Test: atest CtsBionicTestCases
Change-Id: Ib23bb8dd1bac5f84d73516fd74a41bd9a81ca2da
2020-05-14 16:48:44 -07:00
Victor Khimenko
d15229df76 Copy translateSystemPathToApexPath to linker_translate_path.cpp
Bug: http://b/156397945

Test: m

Change-Id: I33f11b8a6a41475b6cdd65e1ff49b2084c33b197
2020-05-14 22:17:45 +02:00
Jooyung Han
3a564b1e22 Merge "libc_scudo: Set min_sdk_version to apex_inherit" am: 75c8868a42
Change-Id: I766ef206e0e16600cd1d3670448ccc29291a96dd
2020-05-13 15:39:10 +00:00
Jooyung Han
75c8868a42 Merge "libc_scudo: Set min_sdk_version to apex_inherit" 2020-05-13 15:24:35 +00:00
Jooyung Han
1beacd440b libc_scudo: Set min_sdk_version to apex_inherit
Switched min_sdk_version from 29(hard-coded) to "apex_inherit".
From the build system perspective, nothing changes.

This change is to sync with internal code because it's been changed
while cherry-picking.

Bug: 145796956
Test: m
Change-Id: I567ddad0bd54087cdf9a30cbe42e239977a028dd
2020-05-13 16:55:10 +09:00
Josh Gao
5618417bdb Merge "Temporarily disable FdsanTest.vfork." am: 960b8ed0cd
Change-Id: If97454c5cfc142c74fe499f6e82ad86140a6c159
2020-05-13 02:05:43 +00:00
Josh Gao
960b8ed0cd Merge "Temporarily disable FdsanTest.vfork." 2020-05-13 01:48:17 +00:00
Peter Collingbourne
1541800aa7 Define mte_supported() on non-aarch64.
It turns out that we need this on non-aarch64 more than I thought
we would, so let's start defining it everywhere.

Also expose platform headers to sanitizer-status.

Bug: 135772972
Change-Id: Ia7fd8a9bca0c123c4ca2ecd5f250f3a628a5513b
2020-05-12 16:03:50 -07:00
Josh Gao
b4cbff351f Temporarily disable FdsanTest.vfork.
Bug: http://b/156400255
Test: none
Change-Id: I48e09e0ea84742933bea88d009f8ff0bffacfdc3
2020-05-12 15:17:02 -07:00
vichang
f4608e6549 Merge "Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish" am: f76ef36690
Change-Id: I902b13856db872a779110d38415e780cdcef1c69
2020-05-12 12:46:21 +00:00
vichang
f76ef36690 Merge "Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish" 2020-05-12 12:34:13 +00:00
Victor Chang
01fb8d7120 Disable dlfcn#dlopen_system_libicuuc_ tests due to test failures on cuttlefish
Bug: 156315785
Test: atest CtsBionicTestCases
Change-Id: I6d61a2dcf55ebf67587ccf2653af3aca493b022d
2020-05-12 10:10:32 +00:00
Treehugger Robot
c027fc89aa Merge changes If42905f3,Id351a993,I8a082fd0 am: e3bc50d44f
Change-Id: Ic509add072ce2bbcb92cf42c1a47b5f2cd68a121
2020-05-12 07:18:25 +00:00
Treehugger Robot
e3bc50d44f Merge changes If42905f3,Id351a993,I8a082fd0
* changes:
  fdtrack: don't do anything while vforked.
  fdsan: don't do anything when vforked.
  Track whether a thread is currently vforked.
2020-05-12 07:04:58 +00:00
Martin Stjernholm
215e1da3fc Add Bionic module SDK.
Test: v
  1. build/soong/scripts/build-aml-prebuilts.sh runtime-module-sdk
  2. Unzip out/aml/soong/mainline-sdks/runtime-module-sdk-current.zip
     into prebuilts/module_sdk/runtime in a master-art tree without
     platform/bionic in its manifest.
  3. Check that all shared libs in the generated Android.bp file in the
     zip archive have stubs.version set.
  4. art/build/apex/runtests.sh is successful in the master-art tree.
Bug: 152255951
Change-Id: Iaada409c2edfa504056da8bebfb30756456eb282
2020-05-11 23:45:13 +01:00
vichang
ee913197f3 Merge "Move libicuuc.so into com.android.i18n module." am: 10bad3e882
Change-Id: Id307e7102099ccd66bebff2b29fe6f11287e7594
2020-05-11 11:51:20 +00:00
vichang
10bad3e882 Merge "Move libicuuc.so into com.android.i18n module." 2020-05-11 11:37:06 +00:00
Jiyong Park
4f3d46d020 Merge "Set apex_available property" am: 262ff01d2b
Change-Id: I0e37c1182dd95aa39982274aacbf822f0bb04984
2020-05-10 06:39:47 +00:00
Jiyong Park
262ff01d2b Merge "Set apex_available property" 2020-05-10 06:25:04 +00:00
Jiyong Park
4ede160cb1 Set apex_available property
The marked library(ies) were available to the APEXes via the
hand-written whitelist in build/soong/apex/apex.go. Trying to remove the
whitelist by adding apex_available property to the Android.bp of the
libraries.

Exempt-From-Owner-Approval: cherry-pick from internal

Bug: 150999716
Test: m
Merged-In: If64eff62b9e93af95089e5010c30eb586673b92e
(cherry picked from commit 693a7214d6)
Change-Id: If64eff62b9e93af95089e5010c30eb586673b92e
2020-05-10 06:24:42 +00:00