From 715b1aab507a438224c390c46539e62a766f2fc9 Mon Sep 17 00:00:00 2001 From: "changho.shin" Date: Wed, 28 Nov 2018 15:15:16 +0900 Subject: [PATCH] Support product partition for non-treblized devices Non-treblized devices use ld.config.legacy.txt, which does not support product partition, leading to access denial from/to product partition. Declare directly /product since search paths are resolved in linker config. Test: m -j with non-treblized device upgraded to P. Change-Id: Ic142b807f5dbffdfa5c774b3df8d0903b9626b6a --- rootdir/etc/ld.config.legacy.txt | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/rootdir/etc/ld.config.legacy.txt b/rootdir/etc/ld.config.legacy.txt index ca6aafe41..461184a2d 100644 --- a/rootdir/etc/ld.config.legacy.txt +++ b/rootdir/etc/ld.config.legacy.txt @@ -6,35 +6,40 @@ # All binaries gets the same configuration 'legacy' dir.legacy = /system +dir.legacy = /product dir.legacy = /vendor dir.legacy = /odm dir.legacy = /sbin -# Except for /postinstall, where only /system is searched +# Except for /postinstall, where only /system and /product are searched dir.postinstall = /postinstall [legacy] namespace.default.isolated = false namespace.default.search.paths = /system/${LIB} +namespace.default.search.paths += /product/${LIB} namespace.default.search.paths += /vendor/${LIB} namespace.default.search.paths += /odm/${LIB} namespace.default.asan.search.paths = /data/asan/system/${LIB} namespace.default.asan.search.paths += /system/${LIB} -namespace.default.asan.search.paths += /data/asan/odm/${LIB} -namespace.default.asan.search.paths += /odm/${LIB} +namespace.default.asan.search.paths += /data/asan/product/${LIB} +namespace.default.asan.search.paths += /product/${LIB} namespace.default.asan.search.paths += /data/asan/vendor/${LIB} namespace.default.asan.search.paths += /vendor/${LIB} +namespace.default.asan.search.paths += /data/asan/odm/${LIB} +namespace.default.asan.search.paths += /odm/${LIB} ############################################################################### # Namespace config for binaries under /postinstall. # Only one default namespace is defined and it has no directories other than -# /system/lib in the search paths. This is because linker calls realpath on the -# search paths and this causes selinux denial if the paths (/vendor, /odm) are -# not allowed to the poinstall binaries. There is no reason to allow the -# binaries to access the paths. +# /system/lib and /product/lib in the search paths. This is because linker +# calls realpath on the search paths and this causes selinux denial if the +# paths (/vendor, /odm) are not allowed to the poinstall binaries. +# There is no reason to allow the binaries to access the paths. ############################################################################### [postinstall] namespace.default.isolated = false -namespace.default.search.paths = /system/${LIB} +namespace.default.search.paths = /system/${LIB} +namespace.default.search.paths += /product/${LIB}