From 48ca6861f13bb0d69cf6aa02a710b65294854e6e Mon Sep 17 00:00:00 2001 From: xia-bubai Date: Sun, 15 Jun 2025 17:52:16 +0800 Subject: [PATCH] add memory manager part Signed-off-by: xia-bubai --- .../sandbox_manager/ISandboxManager.idl | 1 + services/common/BUILD.gn | 4 + .../common/utils/sandbox_memory_manager.cpp | 85 +++++++++++++++++++ .../common/utils/sandbox_memory_manager.h | 47 ++++++++++ services/sandbox_manager/BUILD.gn | 1 + .../include/service/sandbox_manager_service.h | 5 ++ .../src/service/sandbox_manager_service.cpp | 45 ++++++++++ .../sandbox_manager_service.json | 48 ++++++----- services/sandbox_manager/test/BUILD.gn | 10 ++- .../unittest/sandbox_manager_service_test.cpp | 45 ++++++++++ .../checkpersistpolicystub_fuzzer/BUILD.gn | 2 +- .../checkpolicystub_fuzzer/BUILD.gn | 2 +- .../BUILD.gn | 2 +- .../cleanpolicybyuseridstub_fuzzer/BUILD.gn | 2 +- .../persistpolicystub_fuzzer/BUILD.gn | 2 +- .../persistpolicytokenstub_fuzzer/BUILD.gn | 2 +- .../sandbox_manager_service_fuzz.gni | 5 ++ .../setpolicyasyncstub_fuzzer/BUILD.gn | 2 +- .../setpolicybybundlenamestub_fuzzer/BUILD.gn | 2 +- .../setpolicystub_fuzzer/BUILD.gn | 2 +- .../BUILD.gn | 2 +- .../startaccessingpolicystub_fuzzer/BUILD.gn | 2 +- .../startbyeventaction_fuzzer/BUILD.gn | 2 +- .../stopaccessingpolicystub_fuzzer/BUILD.gn | 2 +- .../unpersistpolicystub_fuzzer/BUILD.gn | 2 +- .../unpersistpolicytokenstub_fuzzer/BUILD.gn | 2 +- .../unsetallpolicybytokenstub_fuzzer/BUILD.gn | 2 +- .../unsetpolicyasyncstub_fuzzer/BUILD.gn | 2 +- .../unsetpolicystub_fuzzer/BUILD.gn | 2 +- 29 files changed, 292 insertions(+), 40 deletions(-) create mode 100644 services/common/utils/sandbox_memory_manager.cpp create mode 100644 services/common/utils/sandbox_memory_manager.h diff --git a/frameworks/sandbox_manager/ISandboxManager.idl b/frameworks/sandbox_manager/ISandboxManager.idl index 684b185..3acb452 100644 --- a/frameworks/sandbox_manager/ISandboxManager.idl +++ b/frameworks/sandbox_manager/ISandboxManager.idl @@ -18,6 +18,7 @@ sequenceable OHOS.AccessControl.SandboxManager.PolicyInfoParcel; rawdata OHOS.AccessControl.SandboxManager.BoolVecRawData; rawdata OHOS.AccessControl.SandboxManager.PolicyVecRawData; rawdata OHOS.AccessControl.SandboxManager.Uint32VecRawData; +option_stub_hooks on; interface OHOS.AccessControl.SandboxManager.ISandboxManager { [ipccode 0xffb0] void PersistPolicy([in] PolicyVecRawData policyRawData, [out] Uint32VecRawData resultRawData); diff --git a/services/common/BUILD.gn b/services/common/BUILD.gn index c5e4c25..2cec8d7 100644 --- a/services/common/BUILD.gn +++ b/services/common/BUILD.gn @@ -38,6 +38,10 @@ ohos_shared_library("sandbox_manager_service_common") { "utils/data_size_report_adapter.cpp", ] + if (!sandbox_manager_process_resident) { + sources += [ "utils/sandbox_memory_manager.cpp" ] + } + cflags_cc = [ "-DHILOG_ENABLE" ] configs = [ "${sandbox_manager_path}/config:coverage_flags" ] diff --git a/services/common/utils/sandbox_memory_manager.cpp b/services/common/utils/sandbox_memory_manager.cpp new file mode 100644 index 0000000..7a0d989 --- /dev/null +++ b/services/common/utils/sandbox_memory_manager.cpp @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "sandbox_memory_manager.h" + +#include "sandbox_manager_log.h" + +namespace OHOS { +namespace AccessControl { +namespace SandboxManager { +namespace { +using namespace OHOS::HiviewDFX; +static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { + LOG_CORE, ACCESSCONTROL_DOMAIN_SANDBOXMANAGER, "SandboxManagerMemmgr" +}; +constexpr int32_t MAX_RUNNING_NUM = 256; +std::recursive_mutex g_instanceMutex; +} + +SandboxMemoryManager& SandboxMemoryManager::GetInstance() +{ + static SandboxMemoryManager* instance = nullptr; + if (instance == nullptr) { + std::lock_guard lock(g_instanceMutex); + if (instance == nullptr) { + SandboxMemoryManager* tmp = new (std::nothrow) SandboxMemoryManager(); + instance = std::move(tmp); + } + } + return *instance; +} + +void SandboxMemoryManager::AddFunctionRuningNum() +{ + std::lock_guard lock(callNumberMutex_); + callFuncRunningNum_++; + if (callFuncRunningNum_ > MAX_RUNNING_NUM) { + SANDBOXMANAGER_LOG_WARN(LABEL, + "The num of working function (%{public}d) over %{public}d.", callFuncRunningNum_, MAX_RUNNING_NUM); + } +} + +void SandboxMemoryManager::DecreaseFunctionRuningNum() +{ + std::lock_guard lock(callNumberMutex_); + callFuncRunningNum_--; +} + +bool SandboxMemoryManager::IsAllowedUnloadService() +{ + std::lock_guard lock(callNumberMutex_); + if (callFuncRunningNum_ == 0) { + return true; + } + SANDBOXMANAGER_LOG_WARN(LABEL, + "Not allowed to unload service, callFuncRunningNum_ is %{public}d.", callFuncRunningNum_); + return false; +} + +void SandboxMemoryManager::SetIsDelayedToUnload(bool isUnload) +{ + std::lock_guard lock(isDelayedMutex_); + isDelayedToUnload_ = isUnload; +} + +bool SandboxMemoryManager::IsDelayedToUnload() +{ + std::lock_guard lock(isDelayedMutex_); + return isDelayedToUnload_; +} + +} // namespace SandboxManager +} // namespace AccessControl +} // namespace OHOS diff --git a/services/common/utils/sandbox_memory_manager.h b/services/common/utils/sandbox_memory_manager.h new file mode 100644 index 0000000..29e62a9 --- /dev/null +++ b/services/common/utils/sandbox_memory_manager.h @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SANDBOX_MEMORY_MANAGER_H +#define SANDBOX_MEMORY_MANAGER_H + +#include +#include +#include + +namespace OHOS { +namespace AccessControl { +namespace SandboxManager { +class SandboxMemoryManager { +public: + SandboxMemoryManager() {}; + virtual ~SandboxMemoryManager() {}; + + static SandboxMemoryManager& GetInstance(); + void AddFunctionRuningNum(); + void DecreaseFunctionRuningNum(); + bool IsAllowedUnloadService(); + void SetIsDelayedToUnload(bool isUnload); + bool IsDelayedToUnload(); + +private: + bool isDelayedToUnload_ = false; + int32_t callFuncRunningNum_ = 0; + std::mutex callNumberMutex_; + std::mutex isDelayedMutex_; +}; +} // namespace SandboxManager +} // namespace Security +} // namespace OHOS +#endif // SANDBOX_MEMORY_MANAGER_H diff --git a/services/sandbox_manager/BUILD.gn b/services/sandbox_manager/BUILD.gn index 3c21349..2978a92 100644 --- a/services/sandbox_manager/BUILD.gn +++ b/services/sandbox_manager/BUILD.gn @@ -69,6 +69,7 @@ if (is_standard_system) { cflags_cc = [ "-DHILOG_ENABLE" ] if (!sandbox_manager_process_resident) { cflags_cc += [ "-DNOT_RESIDENT" ] + cflags_cc += [ "-DMEMORY_MANAGER_ENABLE" ] } configs = [ "${sandbox_manager_path}/config:coverage_flags" ] diff --git a/services/sandbox_manager/main/cpp/include/service/sandbox_manager_service.h b/services/sandbox_manager/main/cpp/include/service/sandbox_manager_service.h index 7be6184..fea611f 100644 --- a/services/sandbox_manager/main/cpp/include/service/sandbox_manager_service.h +++ b/services/sandbox_manager/main/cpp/include/service/sandbox_manager_service.h @@ -40,6 +40,9 @@ public: void OnStart() override; void OnStop() override; void OnStart(const SystemAbilityOnDemandReason& startReason) override; +#ifdef MEMORY_MANAGER_ENABLE + int32_t OnIdle(const SystemAbilityOnDemandReason &idleReason) override; +#endif int32_t CleanPersistPolicyByPath(const std::vector &filePathList) override; int32_t CleanPolicyByUserId(uint32_t userId, const std::vector &filePathList) override; @@ -69,6 +72,8 @@ public: void DelayUnloadService(); int32_t SetPolicyByBundleName(const std::string &bundleName, int32_t appCloneIndex, const PolicyVecRawData &policyRawData, uint64_t policyFlag, Uint32VecRawData &resultRawData) override; + int32_t CallbackEnter(uint32_t code) override; + int32_t CallbackExit(uint32_t code, int32_t result) override; private: bool Initialize(); bool InitDelayUnloadHandler(); diff --git a/services/sandbox_manager/main/cpp/src/service/sandbox_manager_service.cpp b/services/sandbox_manager/main/cpp/src/service/sandbox_manager_service.cpp index 0a6964a..dba9c0a 100644 --- a/services/sandbox_manager/main/cpp/src/service/sandbox_manager_service.cpp +++ b/services/sandbox_manager/main/cpp/src/service/sandbox_manager_service.cpp @@ -31,6 +31,9 @@ #include "sandbox_manager_err_code.h" #include "sandbox_manager_event_subscriber.h" #include "sandbox_manager_log.h" +#ifdef MEMORY_MANAGER_ENABLE +#include "sandbox_memory_manager.h" +#endif #include "system_ability_definition.h" namespace OHOS { @@ -41,6 +44,10 @@ namespace { static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { LOG_CORE, ACCESSCONTROL_DOMAIN_SANDBOXMANAGER, "SandboxManagerService" }; +#ifdef MEMORY_MANAGER_ENABLE +static constexpr int32_t SA_READY_TO_UNLOAD = 0; +static constexpr int32_t SA_REFUSE_TO_UNLOAD = -1; +#endif } REGISTER_SYSTEM_ABILITY_BY_ID(SandboxManagerService, @@ -64,6 +71,38 @@ SandboxManagerService::~SandboxManagerService() SANDBOXMANAGER_LOG_INFO(LABEL, "~SandboxManagerService()"); } +// CallbackEnter, if "option_stub_hooks on", is called per IPC call at entrance of OnRemoteRequest +int32_t SandboxManagerService::CallbackEnter(uint32_t code) +{ +#ifdef MEMORY_MANAGER_ENABLE + SandboxMemoryManager::GetInstance().AddFunctionRuningNum(); +#endif + return ERR_OK; +} + +// CallbackExit, if "option_stub_hooks on", is called per IPC call at exit of OnRemoteRequest +int32_t SandboxManagerService::CallbackExit(uint32_t code, int32_t result) +{ +#ifdef MEMORY_MANAGER_ENABLE + SandboxMemoryManager::GetInstance().DecreaseFunctionRuningNum(); +#endif + return ERR_OK; +} + +#ifdef MEMORY_MANAGER_ENABLE +int32_t SandboxManagerService::OnIdle(const SystemAbilityOnDemandReason &idleReason) +{ + if (SandboxMemoryManager::GetInstance().IsDelayedToUnload() || + SandboxMemoryManager::GetInstance().IsAllowedUnloadService()) { + SANDBOXMANAGER_LOG_INFO(LABEL, "IdleReason name=%{public}s, value=%{public}s.", + idleReason.GetName().c_str(), idleReason.GetValue().c_str()); + return SA_READY_TO_UNLOAD; + } + + return SA_REFUSE_TO_UNLOAD; +} +#endif + void SandboxManagerService::OnStart() { { @@ -77,6 +116,9 @@ void SandboxManagerService::OnStart() return; } state_ = ServiceRunningState::STATE_RUNNING; +#ifdef MEMORY_MANAGER_ENABLE + SandboxMemoryManager::GetInstance().SetIsDelayedToUnload(false); +#endif SANDBOXMANAGER_LOG_INFO(LABEL, "SandboxManagerService is starting."); } bool ret = Publish(DelayedSingleton::GetInstance().get()); @@ -579,6 +621,9 @@ void SandboxManagerService::DelayUnloadService() SANDBOXMANAGER_LOG_ERROR(LABEL, "Get samgr failed."); return; } +#ifdef MEMORY_MANAGER_ENABLE + SandboxMemoryManager::GetInstance().SetIsDelayedToUnload(true); +#endif int32_t ret = samgrProxy->UnloadSystemAbility(SANDBOX_MANAGER_SERVICE_ID); if (ret != ERR_OK) { SANDBOXMANAGER_LOG_ERROR(LABEL, "Unload system ability failed."); diff --git a/services/sandbox_manager/main/sa_profile/proc_non_resident/sandbox_manager_service.json b/services/sandbox_manager/main/sa_profile/proc_non_resident/sandbox_manager_service.json index 3dc0bc8..a5c45f9 100644 --- a/services/sandbox_manager/main/sa_profile/proc_non_resident/sandbox_manager_service.json +++ b/services/sandbox_manager/main/sa_profile/proc_non_resident/sandbox_manager_service.json @@ -1,24 +1,30 @@ { - "process": "sandbox_manager_service", - "systemability": [{ - "name": 3508, - "libpath": "libsandbox_manager_service.z.so", - "run-on-create": false, - "distributed": false, - "dump_level": 1, + "process": "sandbox_manager_service", + "systemability": [{ + "name": 3508, + "libpath": "libsandbox_manager_service.z.so", + "run-on-create": false, + "distributed": false, + "dump_level": 1, "start-on-demand": { - "commonevent": [{ - "name": "usual.event.BOOT_COMPLETED" - }, - { - "name": "usual.event.PACKAGE_REMOVED" - }, - { - "name": "usual.event.PACKAGE_FULLY_REMOVED" - }, - { - "name": "usual.event.PACKAGE_DATA_CLEARED" - }] - } - }] + "commonevent": [{ + "name": "usual.event.BOOT_COMPLETED" + }, + { + "name": "usual.event.PACKAGE_REMOVED" + }, + { + "name": "usual.event.PACKAGE_FULLY_REMOVED" + }, + { + "name": "usual.event.PACKAGE_DATA_CLEARED" + }] + }, + "stop-on-demand": { + "param": [{ + "name": "resourceschedule.memmgr.low.memory.prepare", + "value": "true" + }] + } + }] } diff --git a/services/sandbox_manager/test/BUILD.gn b/services/sandbox_manager/test/BUILD.gn index 43ba231..df9a2f1 100644 --- a/services/sandbox_manager/test/BUILD.gn +++ b/services/sandbox_manager/test/BUILD.gn @@ -15,7 +15,7 @@ import("//build/test.gni") import("../../../sandbox_manager.gni") sandbox_manager_service_src = [ - "${sandbox_manager_path}/services/common/utils/data_size_report_adapter.cpp", + "${sandbox_manager_path}/services/common/utils/data_size_report_adapter.cpp", "../main/cpp/src/service/sandbox_manager_service.cpp", "../main/cpp/src/sensitive/sandbox_manager_event_subscriber.cpp", "../main/cpp/src/service/policy_info_manager.cpp", @@ -28,6 +28,10 @@ sandbox_manager_service_src = [ "../main/cpp/src/media/media_path_support.cpp", ] +if (!sandbox_manager_process_resident) { + sandbox_manager_service_src += [ "${sandbox_manager_path}/services/common/utils/sandbox_memory_manager.cpp" ] +} + sandbox_manager_service_mock_src = [ "mock/src/media_path_mock.cpp" ] @@ -104,6 +108,10 @@ ohos_unittest("libsandbox_manager_service_standard_test") { "safwk:system_ability_fwk", "samgr:samgr_proxy", ] + + if (!sandbox_manager_process_resident) { + cflags_cc += [ "-DMEMORY_MANAGER_ENABLE" ] + } } group("unittest") { diff --git a/services/sandbox_manager/test/unittest/sandbox_manager_service_test.cpp b/services/sandbox_manager/test/unittest/sandbox_manager_service_test.cpp index 5bc7d8f..e90e92f 100644 --- a/services/sandbox_manager/test/unittest/sandbox_manager_service_test.cpp +++ b/services/sandbox_manager/test/unittest/sandbox_manager_service_test.cpp @@ -34,6 +34,9 @@ #include "sandbox_manager_event_subscriber.h" #include "policy_info_manager.h" #include "sandbox_manager_service.h" +#ifdef MEMORY_MANAGER_ENABLE +#include "sandbox_memory_manager.h" +#endif // MEMORY_MANAGER_ENABLE #undef private #include "system_ability_definition.h" #include "sandbox_test_common.h" @@ -50,6 +53,12 @@ const std::string SET_POLICY_PERMISSION = "ohos.permission.SET_SANDBOX_POLICY"; const std::string CHECK_POLICY_PERMISSION = "ohos.permission.CHECK_SANDBOX_POLICY"; const std::string ACCESS_PERSIST_PERMISSION = "ohos.permission.FILE_ACCESS_PERSIST"; const uint64_t POLICY_VECTOR_SIZE = 5000; +#ifdef MEMORY_MANAGER_ENABLE +constexpr int32_t MAX_RUNNING_NUM = 256; +constexpr int64_t EXTRA_PARAM = 3; +constexpr int32_t SA_READY_TO_UNLOAD = 0; +constexpr int32_t SA_REFUSE_TO_UNLOAD = -1; +#endif Security::AccessToken::PermissionStateFull g_testState1 = { .permissionName = SET_POLICY_PERMISSION, .isGeneral = true, @@ -554,6 +563,42 @@ HWTEST_F(SandboxManagerServiceTest, SandboxManagerSubscriberTest001, TestSize.Le ASSERT_EQ(true, SandboxManagerCommonEventSubscriber::UnRegisterEvent()); ASSERT_EQ(false, SandboxManagerCommonEventSubscriber::UnRegisterEvent()); } + +#ifdef MEMORY_MANAGER_ENABLE +/** + * @tc.name: MemoryManagerTest001 + * @tc.desc: test AddFunctionRuningNum and DecreaseFunctionRuningNum. + * @tc.type: FUNC + * @tc.require: issueICIZZE + */ +HWTEST_F(SandboxManagerServiceTest, MemoryManagerTest001, TestSize.Level1) +{ + SandboxMemoryManager::GetInstance().SetIsDelayedToUnload(false); + SystemAbilityOnDemandReason reason(OnDemandReasonId::PARAM, "test", "true", EXTRA_PARAM); + for (int32_t i = 0; i <= MAX_RUNNING_NUM + 1; i++) { + SandboxMemoryManager::GetInstance().AddFunctionRuningNum(); + } + EXPECT_EQ(SA_REFUSE_TO_UNLOAD, sandboxManagerService_->OnIdle(reason)); + for (int32_t i = 0; i <= MAX_RUNNING_NUM + 1; i++) { + SandboxMemoryManager::GetInstance().DecreaseFunctionRuningNum(); + } + EXPECT_EQ(SA_READY_TO_UNLOAD, sandboxManagerService_->OnIdle(reason)); +} + +/** + * @tc.name: MemoryManagerTest002 + * @tc.desc: test SetIsDelayedToUnload and IsDelayedToUnload. + * @tc.type: FUNC + * @tc.require: issueICIZZE + */ +HWTEST_F(SandboxManagerServiceTest, MemoryManagerTest002, TestSize.Level1) +{ + SandboxMemoryManager::GetInstance().SetIsDelayedToUnload(true); + SystemAbilityOnDemandReason reason(OnDemandReasonId::PARAM, "test", "true", EXTRA_PARAM); + EXPECT_EQ(SA_READY_TO_UNLOAD, sandboxManagerService_->OnIdle(reason)); + SandboxMemoryManager::GetInstance().SetIsDelayedToUnload(false); +} +#endif } // SandboxManager } // AccessControl } // OHOS \ No newline at end of file diff --git a/test/fuzztest/services/sandbox_manager/checkpersistpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/checkpersistpolicystub_fuzzer/BUILD.gn index 6f46d96..93d09ad 100644 --- a/test/fuzztest/services/sandbox_manager/checkpersistpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/checkpersistpolicystub_fuzzer/BUILD.gn @@ -41,5 +41,5 @@ ohos_fuzztest("CheckPersistPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/checkpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/checkpolicystub_fuzzer/BUILD.gn index 4da14b0..21c9f3b 100644 --- a/test/fuzztest/services/sandbox_manager/checkpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/checkpolicystub_fuzzer/BUILD.gn @@ -41,5 +41,5 @@ ohos_fuzztest("CheckPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/cleanpersistpolicybypathstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/cleanpersistpolicybypathstub_fuzzer/BUILD.gn index a9f8a3c..2c77897 100644 --- a/test/fuzztest/services/sandbox_manager/cleanpersistpolicybypathstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/cleanpersistpolicybypathstub_fuzzer/BUILD.gn @@ -41,5 +41,5 @@ ohos_fuzztest("CleanPersistPolicyByPathStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/cleanpolicybyuseridstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/cleanpolicybyuseridstub_fuzzer/BUILD.gn index ecbcc90..da53b7b 100644 --- a/test/fuzztest/services/sandbox_manager/cleanpolicybyuseridstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/cleanpolicybyuseridstub_fuzzer/BUILD.gn @@ -41,5 +41,5 @@ ohos_fuzztest("CleanPolicyByUserIdStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/persistpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/persistpolicystub_fuzzer/BUILD.gn index 54bb4bf..c008c94 100644 --- a/test/fuzztest/services/sandbox_manager/persistpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/persistpolicystub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("PersistPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/persistpolicytokenstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/persistpolicytokenstub_fuzzer/BUILD.gn index 57eaeca..59ae822 100644 --- a/test/fuzztest/services/sandbox_manager/persistpolicytokenstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/persistpolicytokenstub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("PersistPolicyTokenStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/sandbox_manager_service_fuzz.gni b/test/fuzztest/services/sandbox_manager/sandbox_manager_service_fuzz.gni index fe62386..5e215c5 100644 --- a/test/fuzztest/services/sandbox_manager/sandbox_manager_service_fuzz.gni +++ b/test/fuzztest/services/sandbox_manager/sandbox_manager_service_fuzz.gni @@ -74,3 +74,8 @@ sandbox_manager_external_deps = [ "safwk:system_ability_fwk", "samgr:samgr_proxy", ] + +sandbox_manager_flag_cc = [ "-DHILOG_ENABLE" ] +if (!sandbox_manager_process_resident) { + sandbox_manager_flag_cc += [ "-DMEMORY_MANAGER_ENABLE" ] +} diff --git a/test/fuzztest/services/sandbox_manager/setpolicyasyncstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/setpolicyasyncstub_fuzzer/BUILD.gn index 23e517d..264ca63 100644 --- a/test/fuzztest/services/sandbox_manager/setpolicyasyncstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/setpolicyasyncstub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("SetPolicyAsyncStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/setpolicybybundlenamestub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/setpolicybybundlenamestub_fuzzer/BUILD.gn index f1b1882..5a9b9db 100644 --- a/test/fuzztest/services/sandbox_manager/setpolicybybundlenamestub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/setpolicybybundlenamestub_fuzzer/BUILD.gn @@ -41,5 +41,5 @@ ohos_fuzztest("SetPolicyByBundleNameStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/setpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/setpolicystub_fuzzer/BUILD.gn index 2c36661..90b5423 100644 --- a/test/fuzztest/services/sandbox_manager/setpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/setpolicystub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("SetPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/startaccessingbytokenidstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/startaccessingbytokenidstub_fuzzer/BUILD.gn index 5f08d6e..47ef7b2 100644 --- a/test/fuzztest/services/sandbox_manager/startaccessingbytokenidstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/startaccessingbytokenidstub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("StartAccessingByTokenidStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/startaccessingpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/startaccessingpolicystub_fuzzer/BUILD.gn index 8f9eb4d..a4bde34 100644 --- a/test/fuzztest/services/sandbox_manager/startaccessingpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/startaccessingpolicystub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("StartAccessingPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/startbyeventaction_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/startbyeventaction_fuzzer/BUILD.gn index bdabd61..3f905cf 100644 --- a/test/fuzztest/services/sandbox_manager/startbyeventaction_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/startbyeventaction_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("StartByEventActionFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/stopaccessingpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/stopaccessingpolicystub_fuzzer/BUILD.gn index ce47d94..620c1f4 100644 --- a/test/fuzztest/services/sandbox_manager/stopaccessingpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/stopaccessingpolicystub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("StopAccessingPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/unpersistpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/unpersistpolicystub_fuzzer/BUILD.gn index a2127ba..e645cfe 100644 --- a/test/fuzztest/services/sandbox_manager/unpersistpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/unpersistpolicystub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("UnPersistPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/unpersistpolicytokenstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/unpersistpolicytokenstub_fuzzer/BUILD.gn index 1c91e6d..d28d97a 100644 --- a/test/fuzztest/services/sandbox_manager/unpersistpolicytokenstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/unpersistpolicytokenstub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("UnpersistPolicyTokenStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/unsetallpolicybytokenstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/unsetallpolicybytokenstub_fuzzer/BUILD.gn index d10cb59..15eaaa8 100644 --- a/test/fuzztest/services/sandbox_manager/unsetallpolicybytokenstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/unsetallpolicybytokenstub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("UnsetAllPolicyByTokenStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/unsetpolicyasyncstub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/unsetpolicyasyncstub_fuzzer/BUILD.gn index 774e000..328ce8f 100644 --- a/test/fuzztest/services/sandbox_manager/unsetpolicyasyncstub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/unsetpolicyasyncstub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("UnsetPolicyAsyncStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } diff --git a/test/fuzztest/services/sandbox_manager/unsetpolicystub_fuzzer/BUILD.gn b/test/fuzztest/services/sandbox_manager/unsetpolicystub_fuzzer/BUILD.gn index be90e0e..2e88e5c 100644 --- a/test/fuzztest/services/sandbox_manager/unsetpolicystub_fuzzer/BUILD.gn +++ b/test/fuzztest/services/sandbox_manager/unsetpolicystub_fuzzer/BUILD.gn @@ -44,5 +44,5 @@ ohos_fuzztest("UnsetPolicyStubFuzzTest") { configs = [ "${sandbox_manager_path}/config:coverage_flags" ] - cflags_cc = [ "-DHILOG_ENABLE" ] + cflags_cc = sandbox_manager_flag_cc } -- Gitee