Commit graph

2261 commits

Author SHA1 Message Date
Neil Fuller
ada7e4928a Move tzdatacheck execution after apex is mounted
tzdatacheck references files in the runtime apex so should
not be executed before the apex mounts are ready.

Test: Manual tests (see b/123270813); observed tzdatacheck running after
      apex files are mounted
Bug: 123270813
Bug: 116191025
Bug: 119293618
Bug: 113373927
Change-Id: I249d127c1d568bc5025d81b0bb4187c81363d897
2019-02-22 16:07:22 +00:00
Dongwon Kang
3408eaa914 Add permitted path in media namesapce for extractor process.
Test: build, boot, dumpsys media.extractor
Bug: 125134086
Change-Id: I5ed67d7d8d3ad7abf2cff7da8f33fdaab842acff
2019-02-22 01:16:54 -08:00
Yifan Hong
19cddf3a38 Move rootdir/*.json to libprocessgroup am: 98a61dd583 am: b9a1840e9b
am: ca11cdc4d9

Change-Id: I1b157a82638fc828a33abe393d7637ed1c78afa7
2019-02-20 15:17:46 -08:00
Tom Cherry
c43f04e263 Merge "liblog: add stubs variant" am: 4e47753338 am: 66e34e6147
am: 26b3802435

Change-Id: I1b2971f0396305d8d992b149b32368b5be38242a
2019-02-20 15:08:43 -08:00
Jiyong Park
147253fe22 Merge "Add the 'unrestricted' config section for vndk_lite devices" am: 14efb903bb am: 914c7e9924
am: 3e8a07b27c

Change-Id: Ibf111128185ad8de01af7aaae830cdfbb4fe194d
2019-02-20 14:31:29 -08:00
Yifan Hong
b9a1840e9b Move rootdir/*.json to libprocessgroup
am: 98a61dd583

Change-Id: I0c37fccffec8f17a519656c941d3b08ec40f1be9
2019-02-20 14:06:31 -08:00
Yifan Hong
4bb7b18fe1 Merge changes from topic "libprocessgroup_json"
* changes:
  Add schema for task profiles
  Move rootdir/*.json to libprocessgroup
2019-02-20 20:35:47 +00:00
Tom Cherry
4e47753338 Merge "liblog: add stubs variant" 2019-02-20 20:33:36 +00:00
Tom Cherry
fe1f701761 liblog: add stubs variant
Ensure that only the symbols in liblog.map.txt can be used by the
platform.

Bug: 123349183
Test: build
Change-Id: I99ae5d0e8ba8f5061ec20701c941d861c9eb615d
2019-02-20 12:32:12 -08:00
Treehugger Robot
14efb903bb Merge "Add the 'unrestricted' config section for vndk_lite devices" 2019-02-20 18:12:27 +00:00
Jiyong Park
137e0308b7 Add the 'unrestricted' config section for vndk_lite devices
This is essentially the same change as
bcb5ba75a5
for ld.config.vndk_lite.txt.

Bug: 124789446
Test: atest CtsBionicTestCases on marlin
Change-Id: I6b65ec4df1626d625975c9834bf96ac9ff6cc3f3
2019-02-20 16:43:22 +09:00
Kevin Chyn
700ac86a65 Merge "Expose libandroidicu to llndk namespace" am: 4275d9b887 am: 65999091ae
am: 6c2143c82d

Change-Id: I9f860d30cf606f748f5f30cc4be589f6d45ea47a
2019-02-19 22:57:41 -08:00
Victor Chang
ff67ef3c7d Expose libandroidicu to llndk namespace
Bug: 124772622
Test: Treehugger
Change-Id: If936eb377c7f0994a9225b8099a672addb2f9ed6
2019-02-20 01:10:06 +00:00
Gavin Corkery
e8510cec19 Merge "Rename data/staging to data/pkg_staging." 2019-02-19 19:44:13 +00:00
Gavin Corkery
124a4bc791 Rename data/staging to data/pkg_staging.
Test: Build and flash, atest apex_e2e_tests
Fixes: 122999313
Change-Id: I878ee41f804956ee7533d64e844ce98e5a8afacc
Merged-In: I878ee41f804956ee7533d64e844ce98e5a8afacc
2019-02-19 15:46:22 +00:00
Gavin Corkery
dce38e8a71 Merge "Rename data/staging to data/pkg_staging." 2019-02-19 14:40:59 +00:00
vichang
e357682485 Merge changes from topic "dup_icu4c" am: ce912aadda am: 055708f26b
am: 1ab3de395d

Change-Id: I04801cb9d98d0b6072f32a89ab0891a729a25f5d
2019-02-19 02:55:23 -08:00
vichang
ce912aadda Merge changes from topic "dup_icu4c"
* changes:
  Linker namespace changes for moving ICU4C to APEX
  Remove the public libs in runtime namespace
2019-02-19 10:14:31 +00:00
Gavin Corkery
ac1eeb7f78 Rename data/staging to data/pkg_staging.
Test: Build and flash, atest apex_e2e_tests
Fixes: 122999313
Change-Id: I878ee41f804956ee7533d64e844ce98e5a8afacc
2019-02-17 20:58:26 +00:00
Tom Cherry
06e0bd4e9a Merge "Export init.environ.rc in early-init instead of init" am: acfb705603 am: 8f442d5efa
am: 3b236e9a6f

Change-Id: Ife12bf3e2b664c6f8388d2cd2313eb7d5438b9f4
2019-02-16 12:20:50 -08:00
Tom Cherry
acfb705603 Merge "Export init.environ.rc in early-init instead of init" 2019-02-16 17:53:53 +00:00
Jiyong Park
877aba97c3 Merge "Replace bionic-unit-tests with CtsBionicTestCases" am: 00c767d177 am: 08557e6fa9
am: 9669d8f312

Change-Id: Ieea4949f7931e97520b84c156c7c40502c963eb6
2019-02-15 19:28:30 -08:00
Tom Cherry
d540e527e1 Export init.environ.rc in early-init instead of init
Now that we always have system mounted early, we're starting to load
various daemons during the `init` trigger and these daemons need the
environment set up from init.environ.rc, so we move it to early-init.

This shouldn't need to go any further earlier in the future, since
nothing besides ueventd should ever start in early-init.

Test: systems boot, early daemons get right environment
Change-Id: I02f425a1500377c5de3427afa7872073e77a066f
2019-02-15 15:55:18 -08:00
Jiyong Park
d8b07f8c05 Replace bionic-unit-tests with CtsBionicTestCases
Bug: 124437796
Test: monitor treehugger
Change-Id: I8bf8d1bb1af3f4ccfca434846adcc1f4eda3fb69
2019-02-15 15:20:59 +09:00
Yifan Hong
98a61dd583 Move rootdir/*.json to libprocessgroup
They are installed to /system/etc, not /. Hence, move
out of rootdir/ and move into the code that parse these
files (i.e. libprocessgroup).

Also, Android.mk->bp.

Test: builds

Change-Id: I1763c26f81ae51ee159552e39d252fd643c35b94
2019-02-14 16:06:49 -08:00
Suren Baghdasaryan
01e2c6e857 Merge "Fix cgroup support for recovery mode" am: da20bc763e am: e95fd681f7
am: 0a613c94df

Change-Id: I2a9665b4e16c9a93c49b0af350c82d9afd14f967
2019-02-14 10:27:16 -08:00
Suren Baghdasaryan
d032a92c04 Fix cgroup support for recovery mode
In recovery mode a separate set of cgroups should be mounted. Add a
cgroups.recovery.json file to describe cgroups mounted during recovery.
Change cgroups descriptor parset to allow cgroups and cgroups2 sections
to be omitted.

Bug: 124270406
Test: "adb reboot sideload; adb devices" shows 'sideload' as expected

Change-Id: Ic32bd2b4612ec8390064f87d4655d1bd1183d741
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-02-14 17:08:40 +00:00
Victor Chang
785ba2e68e Linker namespace changes for moving ICU4C to APEX
libandroidicu is used by various libraries, e.g. libxml2, minikin.
Thus, expose libandroidicu to default namespace.

libpac is only used by libjni_pacprocessor (part of framework).

libicuuc, libicui18n are not exposed to default namespace,
because everyone else, except app, should use libandroidicu.
They are exposed to classloader namespace from runtime namespace
via the work done in libnativeloader in http://r.android.com/887453
b/120786417 has more details about these 2 libraries.

Bug: 120659668
Test: m droid
Change-Id: I2cd3378f1eb94b7bb1c942738b59d7e577a5f8f0
2019-02-14 10:42:27 +00:00
Jiyong Park
7f233a43c5 Merge "Add TEST_MAPPING for system/core/rootdir/etc" am: ebadad5c56 am: f472ffff49
am: d5b50b5443

Change-Id: I1506d8cfafbc180df8ecbbcd53530e0f37441169
2019-02-13 18:32:19 -08:00
Martin Stjernholm
d8bb1d2f3c Merge "Add compat symlinks into the Runtime APEX for the ART binaries." am: 48c6d139b3 am: 542a73be66
am: 33f1fb107b

Change-Id: I53901b1231c3ff3ce78880813800b5966b57e736
2019-02-13 17:00:48 -08:00
Treehugger Robot
ebadad5c56 Merge "Add TEST_MAPPING for system/core/rootdir/etc" 2019-02-14 00:11:36 +00:00
Martin Stjernholm
7f77dbfe64 Add compat symlinks into the Runtime APEX for the ART binaries.
This is a precaution in case there are dependencies on the binaries in the
old location. b/124106384 tracks eliminating them (if any).

Test: Flash and check symlinks are there with adb shell ls -l system/bin
Test: adb shell system/bin/<binary>
Bug: 113373927
Bug: 124106384
Change-Id: Ib4102fe55117611f68184102e68a10ea47de0065
2019-02-13 15:10:11 +00:00
Martin Stjernholm
242440e79c Merge "Introduce a separate linker config section for native tests." am: 18de135031 am: 1ab2ba789f
am: 1f8c10c6b1

Change-Id: Ic677ee09e7595acac16b9b08acd301c4e2f8bb59
2019-02-13 02:55:31 -08:00
Martin Stjernholm
18de135031 Merge "Introduce a separate linker config section for native tests." 2019-02-13 10:32:29 +00:00
Jiyong Park
8011f03eb2 Add TEST_MAPPING for system/core/rootdir/etc
bionic-unit-tests runs when one of the linker config files is changed.

Test: N/A
Change-Id: I8af1a9728dab4492fe34a3b4daab9c5f9973d84f
2019-02-13 16:40:47 +09:00
Logan Chien
172f147a64 Merge "Fix APEX run-time ld.config.txt for ASAN targets" am: 8540f50887 am: 321b1a6345
am: 5d42b599ef

Change-Id: Ie571a679d43de4f34f119647040bbacea6a4f010
2019-02-12 21:11:14 -08:00
Justin Yun
4e429dd370 Merge "Change search order for vendor processes in vndk_lite." am: 47e8300412 am: c8631a3e1f
am: 16826ca953

Change-Id: If404f2af92bb352186df50b35c5b29bd9bd32666
2019-02-12 19:50:13 -08:00
Logan Chien
8540f50887 Merge "Fix APEX run-time ld.config.txt for ASAN targets" 2019-02-13 02:24:08 +00:00
Justin Yun
023ff46e18 Change search order for vendor processes in vndk_lite.
Originally, vndk_lite does not include system/lib/vndk-* directory but
searching the required files in system/lib instead. However, in GSI,
they are using the vndk libs which has symbols than core variants.
To avoid this problem, allow the vendor processes in vndk_lite devices
to search system/lib prior to vndk libs.

Bug: 124063441
Test: Check boot for vndk_lite devices.
Change-Id: I89a72e9d43d6fb05f4b6d87bbd4500f8febfe970
2019-02-13 01:56:28 +00:00
Dongwon Kang
88e1ac5abe Merge "Exclude libvndksupport from APEXes." am: 0b4f2532a7 am: 1fd25add88
am: 6588014f98

Change-Id: Ia619ae950238d18f404b30ece8480ee8d96b7a19
2019-02-12 17:13:29 -08:00
Dongwon Kang
0b4f2532a7 Merge "Exclude libvndksupport from APEXes." 2019-02-13 00:40:53 +00:00
Martin Stjernholm
bcb5ba75a5 Introduce a separate linker config section for native tests.
There are tests that require access to both system and vendor libraries,
like what the linker sets up when there is no matching config section.

Test: atest cameraservice_test libsurfaceflinger_unittest perfprofd_test \
  inputflinger_tests (no new failures, but 3 old ones)
Test: Internal test can load libandroid.so
Bug: 124127405
Bug: 123700170

Change-Id: I4f5cb2e09bdf1ae510259198c08c252b41249d94
2019-02-12 18:45:37 +00:00
Logan Chien
f7b46a2eb1 Fix APEX run-time ld.config.txt for ASAN targets
This commit fixes the search paths for vendor binaries in ASAN targets.

Test: Boot aosp_walleye-userdebug to home screen
Change-Id: Id87ceee3c43098bd453f6fae4f32ea62355f922b
2019-02-12 20:02:05 +08:00
Jiyong Park
9d851839ca Merge "apexd is started much earlier to create loopback devices" am: 34f3660e2c am: bc08d9d207
am: e5633c18a4

Change-Id: I97743dea1fa022844b7dcf5f33a42bc240e81708
2019-02-11 19:53:43 -08:00
Dongwon Kang
9dff515bdb Exclude libvndksupport from APEXes.
Test: build, boot, and checked mount paths.
Bug: 123948402
Change-Id: I687dde4f3d1a7971f68c7c536de5002dcdaecfa4
2019-02-11 11:14:11 -08:00
Jiyong Park
407b000fe4 apexd is started much earlier to create loopback devices
This change fixes the problem that apexd is delaying the entire boot
sequence while waiting for the loopback devices to be created. The delay
was as big as 50 ms per a loopback device.

With this change, apexd is started much earlier: from "on post-fs-data"
to "on init". When it is first started, it scans /system/apex to
determine the number of APEXes and creates that number of loopback
devices priori. Since then it enters into the binder loop.

When the data partition is mounted, init lets apexd to initiate the
apexd boot sequence where APEXes in /data is scanned, verified, and
activated. Since the creation of the loopback devices were requested far
before, it is very likely that dev nodes for the devices are ready at
this moment (even if not, this isn't a lose).

Bug: 123404717
Bug: 123772265
Test: compare boot times.
init_zygote_START_TIME_avg is improved from 2831ms to 2622ms on blueline
Change-Id: I12450cee44aa4d17a11def62261c2f82d3f2c718
2019-02-09 14:42:38 +09:00
Joel Fernandes
915a112b95 Merge changes from topic "memfd-support" am: 3133b695e0 am: b03663ebdf
am: e3b45e5c31

Change-Id: Id23b2e9a60e290c6401c9dc69a718e908fc19557
2019-02-07 06:31:53 -08:00
Joel Fernandes
3133b695e0 Merge changes from topic "memfd-support"
* changes:
  init: set the sys.use_memfd property to false
  Add support for memfd
2019-02-07 14:17:13 +00:00
Suren Baghdasaryan
3377db0fe8 Merge "libprocessgroup: Fix file mode parsing that requires octal values" am: 3a22225ac6 am: 71eee1e10c
am: 642b89df0f

Change-Id: I02f2d9d1a6fb2281405f034d8374ee9dde5b072b
2019-02-06 21:14:50 -08:00
Joel Fernandes
ae7f052328 init: set the sys.use_memfd property to false
The sys.use_memfd property is set by default to false in Android
to temporarily disable memfd, till vendor and apps are ready for it.
The main issue: either apps or vendor processes can directly make ashmem
IOCTLs on FDs they receive by assuming they are ashmem, without going
through libcutils. Such fds could have very well be originally created with
libcutils hence they could be memfd. Thus the IOCTLs will break.

Set default value of sys.use_memfd property to true once the issue is
resolved, so that the code can then self-detect if kernel support is present
on the device. The property can also set to true from adb shell, for
debugging.

Bug: 113362644

Change-Id: I0f572ef36cac2a58fe308ddb90bbeffbecdaed3b
Signed-off-by: Joel Fernandes <joelaf@google.com>
2019-02-07 00:40:22 +00:00