No description
Find a file
Martijn Coenen f0bc58a42d Support for stopping/starting post-data-mount class subsets.
On devices that use FDE and APEX at the same time, we need to bring up a
minimal framework to be able to mount the /data partition. During this
period, a tmpfs /data filesystem is created, which doesn't contain any
of the updated APEXEs. As a consequence, all those processes will be
using the APEXes from the /system partition.

This is obviously not desired, as APEXes in /system may be old and/or
contain security issues. Additionally, it would create a difference
between FBE and FDE devices at runtime.

Ideally, we restart all processes that have started after we created the
tmpfs /data. We can't (re)start based on class names alone, because some
classes (eg 'hal') contain services that are required to start apexd
itself and that shouldn't be killed (eg the graphics HAL).

To address this, keep track of which processes are started after /data
is mounted, with a new 'mark_post_data' keyword. Additionally, create
'class_reset_post_data', which resets all services in the class that
were created after the initial /data mount, and 'class_start_post_data',
which starts all services in the class that were started after /data was
mounted.

On a device with FBE, these keywords wouldn't be used; on a device with
FDE, we'd use them to bring down the right processes after the user has
entered the correct secret, and restart them.

Bug: 118485723
Test: manually verified process list
Change-Id: I16adb776dacf1dd1feeaff9e60639b99899905eb
2019-04-26 11:54:19 +02:00
adb adbd: reduce the USB buffer sizes to 16k. 2019-04-17 17:53:34 -07:00
base Disallow operator!() on unique_fd 2019-03-28 15:56:07 +09:00
bootstat bootstat: add 4 reboot reasons to known set 2019-03-20 16:53:29 +00:00
cpio Switch from dist-for-goals to dist in Android.bp 2018-11-19 23:06:12 -08:00
debuggerd Add indicator that an elf is memory backed. 2019-04-19 10:57:11 -07:00
demangle Build adbd for recovery 2018-05-24 14:11:11 +09:00
deprecated-adf adf: rename. 2019-02-14 16:30:24 -08:00
diagnose_usb Build adbd for recovery 2018-05-24 14:11:11 +09:00
fastboot Allow fuzzy_fastboot number to run for a specific device serial number 2019-04-12 17:13:24 +00:00
fs_mgr Merge "fs_mgr: overlay: wait for logical partition to be created" into qt-dev 2019-04-23 22:50:24 +00:00
gatekeeperd gatekeeperd: fixed potential nullptr deref 2019-03-14 13:51:50 -07:00
healthd charger: fix show 0% symptom when start to draw UI 2019-03-29 18:33:00 +08:00
include Move android_filesystem_config.h => fs_config.h 2017-08-02 16:31:19 -07:00
init Support for stopping/starting post-data-mount class subsets. 2019-04-26 11:54:19 +02:00
janitors Add the two best build system janitors. 2019-03-25 10:25:13 -07:00
libappfuse use epoll_create1(EPOLL_CLOEXEC) 2018-12-17 09:32:23 -08:00
libasyncio Revert "Mark libs as double_loadable" 2019-03-11 14:10:34 +00:00
libbacktrace Fix pc/function name for signal handler frame. 2019-04-15 14:14:56 -07:00
libbinderwrapper Make libbinderwrapper available in /vendor partition 2018-04-06 08:41:21 +09:00
libcrypto_utils Convert more modules to Android.bp 2018-10-31 21:53:37 -07:00
libcutils cutils: add ashmem_init 2019-04-05 00:28:05 +00:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Merge "Build both static and shared lib." 2018-09-25 22:29:31 +00:00
libion libion: cleanup logging 2018-03-07 10:56:06 -08:00
libkeyutils Initialize fs-verity keys in shell script 2019-03-22 09:18:00 -07:00
liblog Merge "Version liblog LL-NDK library" 2019-04-02 23:16:22 +00:00
libmeminfo libmeminfo/procrank: Ignore failures when process disappears. 2019-04-10 08:01:06 -07:00
libmemtrack Revert "Mark libs as double_loadable" 2019-03-11 14:10:34 +00:00
libmemunreachable Catch SIGBUS in HeapWalker 2019-03-20 16:06:52 -07:00
libmetricslogger DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master 2018-12-11 14:46:12 -08:00
libnativebridge Update OWNERS for libnativebridge 2019-02-13 19:20:59 +09:00
libnativeloader Merge "Add dependency on libdl_android" 2019-03-28 09:05:53 +00:00
libnetutils Refactor OWNERS files for Android Core Networking 2019-02-12 13:25:13 +08:00
libpackagelistparser Add versionCode parser for package list. 2019-03-19 17:04:46 +00:00
libpixelflinger Mark gglMulx and gglMulAddx as always_inline 2019-02-14 11:59:48 -08:00
libprocessgroup libprocessgroup: limit libprocessgroup's VNDK API surface 2019-04-22 17:09:54 -07:00
libprocinfo Merge "Revert "Mark libs as double_loadable"" 2019-03-12 22:11:27 +00:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse Convert Android.mk file to Android.bp 2019-01-24 21:16:39 -08:00
libstats Merge "Report last atom tag of the failed stats log." 2019-04-02 23:18:14 +00:00
libsuspend Remove libsuspend from VNDK. 2018-08-14 13:39:55 -07:00
libsync Merge libsync_recovery rules into libsync. 2018-08-07 11:00:50 -07:00
libsystem Merge "Freshen libsystem/OWNERS" am: 3dbdf65afc am: 20ee5af257 2019-02-07 14:55:17 -08:00
libsysutils Enlarge cmd buffer size of FrameworkListener 2019-03-21 23:09:16 +08:00
libunwindstack Add indicator that an elf is memory backed. 2019-04-19 10:57:11 -07:00
libusbhost Revert "Mark libs as double_loadable" 2019-03-11 14:10:34 +00:00
libutils Merge "libutils: more detailed logging." 2019-04-02 02:45:41 +00:00
libvndksupport Add dependency on libdl_android 2019-03-20 12:26:41 +01:00
libziparchive zip_writer.cc: update powerof2 and use it unconditionally 2019-03-27 10:24:44 -07:00
llkd llkd: do not call sync() 2019-01-10 12:52:35 -08:00
lmkd lmkd: set PSI_POLL_PERIOD to 10ms 2019-03-27 02:10:10 +00:00
logcat Merge "Logtags for com.android.server.policy" 2019-03-27 14:41:12 +00:00
logd introduce auditctl and use it to configure SELinux throttling 2019-04-09 20:54:47 -07:00
logwrapper Build adbd for recovery 2018-05-24 14:11:11 +09:00
mkbootimg mkbootimg: print addresses and offsets in hex 2019-03-07 05:06:09 +00:00
property_service Add libc_headers to header_libs for libpropertyinfoparser 2019-01-17 21:18:01 +08:00
qemu_pipe Build adbd for recovery 2018-05-24 14:11:11 +09:00
reboot reboot: only pause indefinitely for non-shutdown operations 2017-09-29 16:29:52 +00:00
rootdir Support for stopping/starting post-data-mount class subsets. 2019-04-26 11:54:19 +02:00
run-as run-as: improve diagnostics on failure. 2019-03-13 11:16:03 -07:00
sdcard Allow callers to pass a flag to not link obb dirs of multiple users. 2019-03-05 14:41:54 -08:00
shell_and_utilities introduce auditctl and use it to configure SELinux throttling 2019-04-09 20:54:47 -07:00
storaged Remove liblog's rate limiting 2019-01-16 10:37:14 -08:00
toolbox grep: fix ASan heap-buffer-overflow. 2019-04-01 10:58:38 -07:00
trusty Add support for RPMB over VirtIO Serial 2019-03-05 17:25:57 -08:00
usbd usbd: Do not join the thread pool 2018-10-24 01:43:06 +00:00
watchdogd Move watchdogd out of init 2018-08-02 12:25:58 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.clang-format-4 Move clang-formats to build. 2019-01-18 14:26:33 -08:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
CleanSpec.mk healthd: charger uses shared libraries. 2019-03-06 14:36:59 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
OWNERS Move per-file OWNERS directives to their directories. 2018-06-06 11:49:40 +09:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00
TEST_MAPPING Add presubmit test for vendor overlay 2019-02-16 08:24:35 +09:00