4a57c8f4f2
This enables fs_config for /data when pushing files as root. Also, without this, adb push to /tmp fails as the shell user. When pushing to a directory that does not have an explicit fs_config, such as /data/local/tmp or /tmp, use the original file mode. Because adb copies u permissions into g and o (and in general because the umask on the host may have made these files world writable), this requires adding more fs_config entries to cover directories that may contain dex files i.e. /{odm,product,system,system_ext,vendor}/{framework,app,priv-app} to avoid hitting a SecurityException caused by writable dex files, e.g. 04-01 21:22:16.980 10110 4815 4815 E AndroidRuntime: FATAL EXCEPTION: main 04-01 21:22:16.980 10110 4815 4815 E AndroidRuntime: Process: android.test.app.system_priv, PID: 4815 04-01 21:22:16.980 10110 4815 4815 E AndroidRuntime: java.lang.SecurityException: Writable dex file '/system/priv-app/loadlibrarytest_system_priv_app/loadlibrarytest_system_priv_app.apk' is not allowed. 04-01 21:22:16.980 10110 4815 4815 E AndroidRuntime: at dalvik.system.DexFile.openDexFileNative(Native Method) 04-01 21:22:16.980 10110 4815 4815 E AndroidRuntime: at dalvik.system.DexFile.openDexFile(DexFile.java:406) Bug: 171233429 Bug: 311263616 Change-Id: I18f70095c793d08a25ff59e1851f6dc7648ce4dc |
||
---|---|---|
.. | ||
abi-dumps | ||
include | ||
include_outside_system/cutils | ||
Android.bp | ||
android_get_control_env.h | ||
android_get_control_file.cpp | ||
android_get_control_file_test.cpp | ||
android_get_control_socket_test.cpp | ||
android_reboot.cpp | ||
ashmem-dev.cpp | ||
ashmem-host.cpp | ||
ashmem_test.cpp | ||
canned_fs_config.cpp | ||
config_utils.cpp | ||
fs.cpp | ||
fs_config.cpp | ||
fs_config.h | ||
fs_config_test.cpp | ||
hashmap.cpp | ||
iosched_policy.cpp | ||
KernelLibcutilsTest.xml | ||
klog.cpp | ||
load_file.cpp | ||
MODULE_LICENSE_APACHE2 | ||
multiuser.cpp | ||
multiuser_test.cpp | ||
native_handle.cpp | ||
native_handle_test.cpp | ||
NOTICE | ||
OWNERS | ||
partition_utils.cpp | ||
properties.cpp | ||
properties_test.cpp | ||
qtaguid.cpp | ||
record_stream.cpp | ||
sched_policy_test.cpp | ||
socket_inaddr_any_server_unix.cpp | ||
socket_inaddr_any_server_windows.cpp | ||
socket_local_client_unix.cpp | ||
socket_local_server_unix.cpp | ||
socket_local_unix.h | ||
socket_network_client_unix.cpp | ||
socket_network_client_windows.cpp | ||
sockets.cpp | ||
sockets_test.cpp | ||
sockets_unix.cpp | ||
sockets_windows.cpp | ||
str_parms.cpp | ||
str_parms_test.cpp | ||
strlcpy.c | ||
TEST_MAPPING | ||
trace-container.cpp | ||
trace-dev.cpp | ||
trace-dev.inc | ||
trace-dev_test.cpp | ||
trace-host.cpp | ||
uevent.cpp |