diff options
| author | 2021-11-30 10:45:09 +0000 | |
|---|---|---|
| committer | 2021-12-01 13:54:30 +0000 | |
| commit | 281a2dfaa15fb3439b5ca92995958a8882197f3b (patch) | |
| tree | 1a180dd8f9bc5b8758b74931049c5124c5f10e05 /libs/androidfw/StringPool.cpp | |
| parent | 1ddbc0e6d9b7b52ce4c45097a970792e857f77cc (diff) | |
Prefetch standalone system server jars before switching domain.
In b/203198541, we start to compile standalone system server jars, but
the SELinux policy doesn't allow system_server to load the compiled code
at runtime. As a solution, this change creates class loaders for
standalone system server jars and caches them before switching to the
"system_server" SELinux domain, which essentially loads the jars and
compiled code into the memory.
Bug: 203198541
Test: manual -
1. Patch aosp/1874113, aosp/1876173, aosp/1906158 (in order to have
odrefresh compile a standalone system server jar).
2. Build a system image and flash it to a device.
3. Run "adb shell cat /proc/`adb shell pidof system_server`/maps" and
see "apex@com.android.wifi@javalib@service-wifi.jar@classes.odex"
being mmap'ed.
4. Run "adb logcat | grep avc" and see no denial.
5. atest odsign_e2e_tests
Change-Id: I365be766cfb77c6e240d5871f1b3d8ed7abae6f5
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions