Merge "Switch to C23's memset_explicit()." am: dd7cfa9e15
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2184090
Change-Id: I8efda0a63bae994f8e2949de49ff46fd5b15abb7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/IdleMaint.cpp b/IdleMaint.cpp
index d0a3a4c..0c6b115 100644
--- a/IdleMaint.cpp
+++ b/IdleMaint.cpp
@@ -390,28 +390,6 @@
}
static void runDevGc(void) {
- auto aidl_service_name = AStorage::descriptor + "/default"s;
- if (AServiceManager_isDeclared(aidl_service_name.c_str())) {
- ndk::SpAIBinder binder(AServiceManager_waitForService(aidl_service_name.c_str()));
- if (binder.get() != nullptr) {
- std::shared_ptr<AStorage> aidl_service = AStorage::fromBinder(binder);
- if (aidl_service != nullptr) {
- runDevGcOnHal<IDL::AIDL>(aidl_service, ndk::SharedRefBase::make<AGcCallbackImpl>(),
- &ndk::ScopedAStatus::getDescription);
- return;
- }
- }
- LOG(WARNING) << "Device declares " << aidl_service_name
- << " but it is not running, skip dev GC on AIDL HAL";
- return;
- }
- auto hidl_service = HStorage::getService();
- if (hidl_service != nullptr) {
- runDevGcOnHal<IDL::HIDL>(hidl_service, sp<HGcCallbackImpl>(new HGcCallbackImpl()),
- &Return<void>::description);
- return;
- }
- // fallback to legacy code path
runDevGcFstab();
}
diff --git a/Utils.cpp b/Utils.cpp
index 709853c..9e77a9e 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -1763,5 +1763,15 @@
return {std::move(fd), std::move(linkPath)};
}
+bool IsFuseBpfEnabled() {
+ std::string bpf_override = android::base::GetProperty("persist.sys.fuse.bpf.override", "");
+ if (bpf_override == "true") {
+ return true;
+ } else if (bpf_override == "false") {
+ return false;
+ }
+ return base::GetBoolProperty("ro.fuse.bpf.enabled", false);
+}
+
} // namespace vold
} // namespace android
diff --git a/Utils.h b/Utils.h
index 8f60ff6..fbd0f30 100644
--- a/Utils.h
+++ b/Utils.h
@@ -37,7 +37,6 @@
static const char* kVoldAppDataIsolationEnabled = "persist.sys.vold_app_data_isolation_enabled";
static const char* kExternalStorageSdcardfs = "external_storage.sdcardfs.enabled";
-static const char* kFuseBpfEnabled = "persist.sys.fuse.bpf.override";
static constexpr std::chrono::seconds kUntrustedFsckSleepTime(45);
@@ -208,6 +207,8 @@
status_t PrepareAndroidDirs(const std::string& volumeRoot);
+bool IsFuseBpfEnabled();
+
// Open a given directory as an FD, and return that and the corresponding procfs virtual
// symlink path that can be used in any API that accepts a path string. Path stays valid until
// the directory FD is closed.
diff --git a/model/EmulatedVolume.cpp b/model/EmulatedVolume.cpp
index 7c8a4e0..270d097 100644
--- a/model/EmulatedVolume.cpp
+++ b/model/EmulatedVolume.cpp
@@ -49,7 +49,7 @@
mRawPath = rawPath;
mLabel = "emulated";
mFuseMounted = false;
- mFuseBpfEnabled = base::GetBoolProperty(kFuseBpfEnabled, false);
+ mFuseBpfEnabled = IsFuseBpfEnabled();
mUseSdcardFs = IsSdcardfsUsed();
mAppDataIsolationEnabled = base::GetBoolProperty(kVoldAppDataIsolationEnabled, false);
}
@@ -61,7 +61,7 @@
mRawPath = rawPath;
mLabel = fsUuid;
mFuseMounted = false;
- mFuseBpfEnabled = base::GetBoolProperty(kFuseBpfEnabled, false);
+ mFuseBpfEnabled = IsFuseBpfEnabled();
mUseSdcardFs = IsSdcardfsUsed();
mAppDataIsolationEnabled = base::GetBoolProperty(kVoldAppDataIsolationEnabled, false);
}