From 70d9482fabb01c9e5d64b19a9bc6451af6ac437a Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Mon, 1 Sep 2025 08:56:10 +0000 Subject: [PATCH 1/4] =?UTF-8?q?CFI=20crash=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chen yi wen <15068825070@163.com> --- wifi/test/cfi_blocklist.txt | 17 +++++++++++++++++ .../wifi_standard/precompiled_macro/BUILD.gn | 1 + 2 files changed, 18 insertions(+) create mode 100644 wifi/test/cfi_blocklist.txt diff --git a/wifi/test/cfi_blocklist.txt b/wifi/test/cfi_blocklist.txt new file mode 100644 index 000000000..0ed20834a --- /dev/null +++ b/wifi/test/cfi_blocklist.txt @@ -0,0 +1,17 @@ +# Copyright (c) 2023-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. + +[cfi] +src:*/communication/wifi/wifi/test/* +src:*/third_party/googletest/googlemock/include/gmock/gmock-cardinalities.h +src:*/third_party/googletest/googletest/include/gtest/internal/gtest-port.h \ No newline at end of file diff --git a/wifi/test/wifi_standard/precompiled_macro/BUILD.gn b/wifi/test/wifi_standard/precompiled_macro/BUILD.gn index 6a97ad4e5..b0dc225c2 100644 --- a/wifi/test/wifi_standard/precompiled_macro/BUILD.gn +++ b/wifi/test/wifi_standard/precompiled_macro/BUILD.gn @@ -34,6 +34,7 @@ ohos_unittest("precompiled_macro_unittest") { ubsan = false # Enable some Ubsan options cfi_vcall_icall_only = true debug = false + blocklist = "$WIFI_ROOT_DIR/test/cfi_blocklist.txt" } sources = [ -- Gitee From 57f8b3fc2ce9b04b89999a846b43802d0ecd3d42 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Mon, 1 Sep 2025 09:07:25 +0000 Subject: [PATCH 2/4] 1 Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_standard/wifi_framework/wifi_manage/wifi_ap/BUILD.gn | 1 + 1 file changed, 1 insertion(+) diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_ap/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_ap/BUILD.gn index 3c463d2bb..a5a0ce693 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_ap/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_ap/BUILD.gn @@ -30,6 +30,7 @@ ohos_unittest("WifiApServiceTest") { ubsan = false # Enable some Ubsan options cfi_vcall_icall_only = true debug = false + blocklist = "$WIFI_ROOT_DIR/test/cfi_blocklist.txt" } sources = [ -- Gitee From 125619046e75bb89f199527413769f7c466de530 Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Mon, 1 Sep 2025 11:20:17 +0000 Subject: [PATCH 3/4] =?UTF-8?q?cfi=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_framework/wifi_manage/wifi_p2p/test/BUILD.gn | 1 + .../wifi_standard/wifi_framework/wifi_manage/wifi_pro/BUILD.gn | 1 + 2 files changed, 2 insertions(+) diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/BUILD.gn index eb0f914e2..75789426f 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_p2p/test/BUILD.gn @@ -29,6 +29,7 @@ ohos_unittest("wifi_p2p_test") { ubsan = false # Enable some Ubsan options cfi_vcall_icall_only = true debug = false + blocklist = "$WIFI_ROOT_DIR/test/cfi_blocklist.txt" } sources = [ diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/BUILD.gn index 90d7fa12f..25f83c6e9 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_pro/BUILD.gn @@ -33,6 +33,7 @@ ohos_unittest("wifi_pro_unittest") { integer_overflow = false ubsan = false debug = false + blocklist = "$WIFI_ROOT_DIR/test/cfi_blocklist.txt" } sources = [ -- Gitee From 3a15f76c1e96e39d8664e794bf8fd6680f1edf3a Mon Sep 17 00:00:00 2001 From: chen yi wen <15068825070@163.com> Date: Mon, 1 Sep 2025 12:12:04 +0000 Subject: [PATCH 4/4] =?UTF-8?q?TDDCFI=E9=97=AE=E9=A2=98=E7=BB=88=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chen yi wen <15068825070@163.com> --- .../wifi_framework/wifi_manage/wifi_sta/BUILD.gn | 10 ++++++++++ .../wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn | 10 ++++++++++ .../wifi_manage/wifi_sub_manage/BUILD.gn | 1 + 3 files changed, 21 insertions(+) diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn index 59a3dce88..b83a3c79d 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta/BUILD.gn @@ -272,6 +272,16 @@ ohos_unittest("wifi_sta_unittest") { ohos_unittest("wifi_selfcure_unittest") { module_out_path = module_self_cure_output_path sources = local_base_sources + sanitize = { + cfi = true # Enable/disable control flow integrity detection + boundary_sanitize = false # Enable boundary san detection + cfi_cross_dso = true # Cross-SO CFI Checks + integer_overflow = false # Enable integer overflow detection + ubsan = false # Enable some Ubsan options + cfi_vcall_icall_only = true + debug = false + blocklist = "$WIFI_ROOT_DIR/test/cfi_blocklist.txt" + } sources += [ "$WIFI_ROOT_DIR/base/utils/wifi_datashare_utils.cpp", "$WIFI_ROOT_DIR/frameworks/native/src/wifi_hid2d_msg.cpp", diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn index d1bd60c6e..7fa16cc1c 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sta_new/BUILD.gn @@ -25,6 +25,16 @@ config("module_private_config") { ohos_unittest("wifi_sta_new_unittest") { module_out_path = module_output_path + sanitize = { + cfi = true # Enable/disable control flow integrity detection + boundary_sanitize = false # Enable boundary san detection + cfi_cross_dso = true # Cross-SO CFI Checks + integer_overflow = false # Enable integer overflow detection + ubsan = false # Enable some Ubsan options + cfi_vcall_icall_only = true + debug = false + blocklist = "$WIFI_ROOT_DIR/test/cfi_blocklist.txt" + } sources = [ "$WIFI_ROOT_DIR/services/wifi_standard/wifi_framework/wifi_manage/wifi_self_cure/ip_qos_monitor.cpp", "$WIFI_ROOT_DIR/test/wifi_standard/wifi_framework/wifi_manage/wifi_native/Mock/mock_wifi_sta_hal_interface.cpp", diff --git a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/BUILD.gn b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/BUILD.gn index e9c527c60..d594d0958 100644 --- a/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/BUILD.gn +++ b/wifi/test/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/BUILD.gn @@ -32,6 +32,7 @@ ohos_unittest("wifi_sub_manage_unittest") { ubsan = false # Enable some Ubsan options cfi_vcall_icall_only = true debug = false + blocklist = "$WIFI_ROOT_DIR/test/cfi_blocklist.txt" } sources = [ -- Gitee