diff options
author | Jiyong Park <jiyong@google.com> | 2017-12-07 09:59:48 +0900 |
---|---|---|
committer | Jiyong Park <jiyong@google.com> | 2017-12-07 13:44:46 +0900 |
commit | ad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0 (patch) | |
tree | 3221e7990e79d693ee8018fbb75ae6d382833eb8 /rootdir/Android.mk | |
parent | e93d7f994182ece10259b95f660a53af8d6ad37a (diff) | |
download | system_core-ad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0.tar.gz system_core-ad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0.tar.bz2 system_core-ad7ddd5a02e3ae0bd6e57d2c9df7715425fe2fc0.zip |
Reland "Prevent vendors from accessing private VNDK libs"
This reverts commit 875fe42a81696f44cc03eeaa538f370b44639bb7.
... and fixes a bug that private VNDK libs are not accessible even to
RenderScript framework libraries (such as libRS_internal.so). This is
fixed by exceptionally allowing the private libs only to 'rs'
namespace.
Bug: 70260989
Bug: 70279973
Bug: 63878960
Test: Build for walleye and tested Photos edit.
Test: other renderscript app (camerascript) works as well
Merged-In: I3978cbe2e869f6a1c214c755ded038349bde7b6b
Change-Id: I3978cbe2e869f6a1c214c755ded038349bde7b6b
(cherry picked from commit 781c47f4da82062c5445d53064566673c70119ee)
Diffstat (limited to 'rootdir/Android.mk')
-rw-r--r-- | rootdir/Android.mk | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/rootdir/Android.mk b/rootdir/Android.mk index aa970d6a7..c702d03ea 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -211,11 +211,17 @@ vndk_lib_dep := $(intermediates)/$(vndk_lib_md5).dep $(vndk_lib_dep): $(hide) mkdir -p $(dir $@) && rm -rf $(dir $@)*.dep && touch $@ -llndk_libraries := $(subst $(space),:,$(addsuffix .so,$(LLNDK_LIBRARIES))) +llndk_libraries := $(subst $(space),:,$(addsuffix .so,\ +$(filter-out $(VNDK_PRIVATE_LIBRARIES),$(LLNDK_LIBRARIES)))) -vndk_sameprocess_libraries := $(subst $(space),:,$(addsuffix .so,$(VNDK_SAMEPROCESS_LIBRARIES))) +private_llndk_libraries := $(subst $(space),:,$(addsuffix .so,\ +$(filter $(VNDK_PRIVATE_LIBRARIES),$(LLNDK_LIBRARIES)))) -vndk_core_libraries := $(subst $(space),:,$(addsuffix .so,$(VNDK_CORE_LIBRARIES))) +vndk_sameprocess_libraries := $(subst $(space),:,$(addsuffix .so,\ +$(filter-out $(VNDK_PRIVATE_LIBRARIES),$(VNDK_SAMEPROCESS_LIBRARIES)))) + +vndk_core_libraries := $(subst $(space),:,$(addsuffix .so,\ +$(filter-out $(VNDK_PRIVATE_LIBRARIES),$(VNDK_CORE_LIBRARIES)))) sanitizer_runtime_libraries := $(subst $(space),:,$(addsuffix .so,\ $(ADDRESS_SANITIZER_RUNTIME_LIBRARY) \ @@ -226,6 +232,7 @@ $(2ND_UBSAN_RUNTIME_LIBRARY) \ $(2ND_TSAN_RUNTIME_LIBRARY))) $(LOCAL_BUILT_MODULE): PRIVATE_LLNDK_LIBRARIES := $(llndk_libraries) +$(LOCAL_BUILT_MODULE): PRIVATE_PRIVATE_LLNDK_LIBRARIES := $(private_llndk_libraries) $(LOCAL_BUILT_MODULE): PRIVATE_VNDK_SAMEPROCESS_LIBRARIES := $(vndk_sameprocess_libraries) $(LOCAL_BUILT_MODULE): PRIVATE_LLNDK_PRIVATE_LIBRARIES := $(llndk_private_libraries) $(LOCAL_BUILT_MODULE): PRIVATE_VNDK_CORE_LIBRARIES := $(vndk_core_libraries) @@ -234,6 +241,7 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/ld.config.txt.in $(vndk_lib_dep) @echo "Generate: $< -> $@" @mkdir -p $(dir $@) $(hide) sed -e 's?%LLNDK_LIBRARIES%?$(PRIVATE_LLNDK_LIBRARIES)?g' $< >$@ + $(hide) sed -i -e 's?%PRIVATE_LLNDK_LIBRARIES%?$(PRIVATE_PRIVATE_LLNDK_LIBRARIES)?g' $@ $(hide) sed -i -e 's?%VNDK_SAMEPROCESS_LIBRARIES%?$(PRIVATE_VNDK_SAMEPROCESS_LIBRARIES)?g' $@ $(hide) sed -i -e 's?%VNDK_CORE_LIBRARIES%?$(PRIVATE_VNDK_CORE_LIBRARIES)?g' $@ $(hide) sed -i -e 's?%SANITIZER_RUNTIME_LIBRARIES%?$(PRIVATE_SANITIZER_RUNTIME_LIBRARIES)?g' $@ |