From 590f44eeeda6388deb811c673ecbbca9e6636680 Mon Sep 17 00:00:00 2001 From: Steven Moreland Date: Mon, 5 Oct 2020 23:44:16 +0000 Subject: [PATCH] camera 2.4: conditionally disable memory init This needs to be disabled on Pixel 3, but this is the only place w/ source code visible in AOSP. So, it is implemented as a mechanism. Bug: 166675194 Test: atest android.hardware.camera2.cts.PerformanceTest Change-Id: I0d91389432906a917696d27d27b4d6d96e64d09f --- camera/provider/2.4/default/Android.bp | 3 ++- camera/provider/2.4/default/service.cpp | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/camera/provider/2.4/default/Android.bp b/camera/provider/2.4/default/Android.bp index 627ddf40bc..bbb21c7256 100644 --- a/camera/provider/2.4/default/Android.bp +++ b/camera/provider/2.4/default/Android.bp @@ -76,7 +76,7 @@ cc_library_shared { header_libs: [ "camera.device@3.4-external-impl_headers", "camera.device@3.5-external-impl_headers", - "camera.device@3.6-external-impl_headers" + "camera.device@3.6-external-impl_headers", ], export_include_dirs: ["."], } @@ -150,6 +150,7 @@ cc_defaults { "android.hidl.memory@1.0", "libbinder", "libcamera_metadata", + "libcutils", "libhardware", "libhidlbase", "liblog", diff --git a/camera/provider/2.4/default/service.cpp b/camera/provider/2.4/default/service.cpp index 4475f7d981..84f48393fa 100644 --- a/camera/provider/2.4/default/service.cpp +++ b/camera/provider/2.4/default/service.cpp @@ -22,6 +22,8 @@ #include #include +#include +#include #include using android::status_t; @@ -41,6 +43,12 @@ int main() // The camera HAL may communicate to other vendor components via // /dev/vndbinder android::ProcessState::initWithDriver("/dev/vndbinder"); + + // b/166675194 + if (property_get_bool("ro.vendor.camera.provider24.disable_mem_init", false)) { + process_disable_memory_mitigations(); + } + status_t status; if (kLazyService) { status = defaultLazyPassthroughServiceImplementation("legacy/0",