From 9e40e12cea667e93e427b09b9bb2b3f136db6c63 Mon Sep 17 00:00:00 2001 From: Felix Date: Sat, 2 Mar 2019 23:54:21 +0100 Subject: [PATCH] ld.config: Permit legacy /system/vendor paths Because /vendor is a symlink to /system/vendor on devices without a dedicated /vendor partition, /system/vendor/lib/* needs to be added to the permitted paths whereever /vendor/lib/* is permitted. Reasoning: Legacy devices are forced to use ld.config.legacy.txt, which is very permissive. We can prolong support for them and enable them to use the VNDK if we extend the search paths to include the resolved symlink dirs. Change-Id: I6b3bb7b86ed82395345a16bdc857353b1b15c704 --- rootdir/etc/ld.config.txt | 11 +++++++++++ rootdir/etc/ld.config.vndk_lite.txt | 3 +++ 2 files changed, 14 insertions(+) diff --git a/rootdir/etc/ld.config.txt b/rootdir/etc/ld.config.txt index 28703d2cc..4b2dd077b 100644 --- a/rootdir/etc/ld.config.txt +++ b/rootdir/etc/ld.config.txt @@ -68,6 +68,9 @@ namespace.default.permitted.paths += /system/priv-app namespace.default.permitted.paths += /vendor/framework namespace.default.permitted.paths += /vendor/app namespace.default.permitted.paths += /vendor/priv-app +namespace.default.permitted.paths += /system/vendor/framework +namespace.default.permitted.paths += /system/vendor/app +namespace.default.permitted.paths += /system/vendor/priv-app namespace.default.permitted.paths += /odm/framework namespace.default.permitted.paths += /odm/app namespace.default.permitted.paths += /odm/priv-app @@ -100,6 +103,9 @@ namespace.default.asan.permitted.paths += /system/priv-app namespace.default.asan.permitted.paths += /vendor/framework namespace.default.asan.permitted.paths += /vendor/app namespace.default.asan.permitted.paths += /vendor/priv-app +namespace.default.asan.permitted.paths += /system/vendor/framework +namespace.default.asan.permitted.paths += /system/vendor/app +namespace.default.asan.permitted.paths += /system/vendor/priv-app namespace.default.asan.permitted.paths += /odm/framework namespace.default.asan.permitted.paths += /odm/app namespace.default.asan.permitted.paths += /odm/priv-app @@ -236,6 +242,7 @@ namespace.sphal.search.paths += /vendor/${LIB}/hw namespace.sphal.permitted.paths = /odm/${LIB} namespace.sphal.permitted.paths += /vendor/${LIB} +namespace.sphal.permitted.paths += /system/vendor/${LIB} namespace.sphal.asan.search.paths = /data/asan/odm/${LIB} namespace.sphal.asan.search.paths += /odm/${LIB} @@ -278,6 +285,7 @@ namespace.rs.search.paths += /vendor/${LIB} namespace.rs.permitted.paths = /odm/${LIB} namespace.rs.permitted.paths += /vendor/${LIB} +namespace.rs.permitted.paths += /system/vendor/${LIB} namespace.rs.permitted.paths += /data namespace.rs.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp @@ -323,6 +331,8 @@ namespace.vndk.permitted.paths = /odm/${LIB}/hw namespace.vndk.permitted.paths += /odm/${LIB}/egl namespace.vndk.permitted.paths += /vendor/${LIB}/hw namespace.vndk.permitted.paths += /vendor/${LIB}/egl +namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw +namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl # This is exceptionally required since android.hidl.memory@1.0-impl.so is here namespace.vndk.permitted.paths += /system/${LIB}/vndk-sp%VNDK_VER%/hw @@ -390,6 +400,7 @@ namespace.default.search.paths += /vendor/${LIB} namespace.default.permitted.paths = /odm namespace.default.permitted.paths += /vendor +namespace.default.permitted.paths += /system/vendor #VNDK27#namespace.default.search.paths += /vendor/${LIB}/hw #VNDK27#namespace.default.search.paths += /vendor/${LIB}/egl diff --git a/rootdir/etc/ld.config.vndk_lite.txt b/rootdir/etc/ld.config.vndk_lite.txt index a5beb4e31..54f4c983f 100644 --- a/rootdir/etc/ld.config.vndk_lite.txt +++ b/rootdir/etc/ld.config.vndk_lite.txt @@ -184,6 +184,7 @@ namespace.sphal.search.paths += /vendor/${LIB}/hw namespace.sphal.permitted.paths = /odm/${LIB} namespace.sphal.permitted.paths += /vendor/${LIB} +namespace.sphal.permitted.paths += /system/vendor/${LIB} namespace.sphal.asan.search.paths = /data/asan/odm/${LIB} namespace.sphal.asan.search.paths += /odm/${LIB} @@ -226,6 +227,7 @@ namespace.rs.search.paths += /vendor/${LIB} namespace.rs.permitted.paths = /odm/${LIB} namespace.rs.permitted.paths += /vendor/${LIB} +namespace.rs.permitted.paths += /system/vendor/${LIB} namespace.rs.permitted.paths += /data namespace.rs.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp @@ -271,6 +273,7 @@ namespace.vndk.permitted.paths = /odm/${LIB}/hw namespace.vndk.permitted.paths += /odm/${LIB}/egl namespace.vndk.permitted.paths += /vendor/${LIB}/hw namespace.vndk.permitted.paths += /vendor/${LIB}/egl +namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl # This is exceptionally required since android.hidl.memory@1.0-impl.so is here namespace.vndk.permitted.paths += /system/${LIB}/vndk-sp%VNDK_VER%/hw