From 48c24cf1490be40c8b8ef44cfb6479a4895cdfe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Kongstad?= Date: Mon, 25 Feb 2019 10:54:09 +0100 Subject: Add support for /odm/overlay Add support for runtime resource overlay (RRO) APKs in /odm/overlay. Bug: 121033532 Test: manual (adb push apk to /odm/overlay, reboot, cmd overlay list) Change-Id: I0918d276dfa6a43054068d3f84ecd0d1639f1d0b --- core/jni/fd_utils.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'core/jni/fd_utils.cpp') diff --git a/core/jni/fd_utils.cpp b/core/jni/fd_utils.cpp index d8d46560876d..099635246f05 100644 --- a/core/jni/fd_utils.cpp +++ b/core/jni/fd_utils.cpp @@ -102,6 +102,8 @@ bool FileDescriptorWhitelist::IsAllowed(const std::string& path) const { static const char* kProductOverlayDir = "/product/overlay"; static const char* kSystemProductServicesOverlayDir = "/system/product_services/overlay/"; static const char* kProductServicesOverlayDir = "/product_services/overlay"; + static const char* kSystemOdmOverlayDir = "/system/odm/overlay"; + static const char* kOdmOverlayDir = "/odm/overlay"; static const char* kApkSuffix = ".apk"; if ((android::base::StartsWith(path, kOverlayDir) @@ -110,7 +112,9 @@ bool FileDescriptorWhitelist::IsAllowed(const std::string& path) const { || android::base::StartsWith(path, kSystemProductOverlayDir) || android::base::StartsWith(path, kProductOverlayDir) || android::base::StartsWith(path, kSystemProductServicesOverlayDir) - || android::base::StartsWith(path, kProductServicesOverlayDir)) + || android::base::StartsWith(path, kProductServicesOverlayDir) + || android::base::StartsWith(path, kSystemOdmOverlayDir) + || android::base::StartsWith(path, kOdmOverlayDir)) && android::base::EndsWith(path, kApkSuffix) && path.find("/../") == std::string::npos) { return true; -- cgit v1.2.3