[PATCH v2 3/3] kasan: delete CONFIG_KASAN_MODULE_TEST

Sabyrzhan Tasbolatov posted 3 patches 1 month, 2 weeks ago
There is a newer version of this series
[PATCH v2 3/3] kasan: delete CONFIG_KASAN_MODULE_TEST
Posted by Sabyrzhan Tasbolatov 1 month, 2 weeks ago
Since we've migrated all tests to the KUnit framework,
we can delete CONFIG_KASAN_MODULE_TEST and mentioning of it in the
documentation as well.

I've used the online translator to modify the non-English documentation.

Signed-off-by: Sabyrzhan Tasbolatov <snovitoll@gmail.com>
---
 Documentation/dev-tools/kasan.rst                    | 9 ++-------
 Documentation/translations/zh_CN/dev-tools/kasan.rst | 6 +-----
 Documentation/translations/zh_TW/dev-tools/kasan.rst | 6 +-----
 lib/Kconfig.kasan                                    | 7 -------
 mm/kasan/kasan.h                                     | 2 +-
 mm/kasan/report.c                                    | 2 +-
 6 files changed, 6 insertions(+), 26 deletions(-)

diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst
index d7de44f5339..52fdd6b5ef6 100644
--- a/Documentation/dev-tools/kasan.rst
+++ b/Documentation/dev-tools/kasan.rst
@@ -511,17 +511,12 @@ Tests
 ~~~~~
 
 There are KASAN tests that allow verifying that KASAN works and can detect
-certain types of memory corruptions. The tests consist of two parts:
+certain types of memory corruptions.
 
-1. Tests that are integrated with the KUnit Test Framework. Enabled with
+Tests that are integrated with the KUnit Test Framework. Enabled with
 ``CONFIG_KASAN_KUNIT_TEST``. These tests can be run and partially verified
 automatically in a few different ways; see the instructions below.
 
-2. Tests that are currently incompatible with KUnit. Enabled with
-``CONFIG_KASAN_MODULE_TEST`` and can only be run as a module. These tests can
-only be verified manually by loading the kernel module and inspecting the
-kernel log for KASAN reports.
-
 Each KUnit-compatible KASAN test prints one of multiple KASAN reports if an
 error is detected. Then the test prints its number and status.
 
diff --git a/Documentation/translations/zh_CN/dev-tools/kasan.rst b/Documentation/translations/zh_CN/dev-tools/kasan.rst
index 4491ad2830e..f968d262be1 100644
--- a/Documentation/translations/zh_CN/dev-tools/kasan.rst
+++ b/Documentation/translations/zh_CN/dev-tools/kasan.rst
@@ -422,14 +422,10 @@ KASAN连接到vmap基础架构以懒清理未使用的影子内存。
 ~~~~
 
 有一些KASAN测试可以验证KASAN是否正常工作并可以检测某些类型的内存损坏。
-测试由两部分组成:
 
-1. 与KUnit测试框架集成的测试。使用 ``CONFIG_KASAN_KUNIT_TEST`` 启用。
+与KUnit测试框架集成的测试。使用 ``CONFIG_KASAN_KUNIT_TEST`` 启用。
 这些测试可以通过几种不同的方式自动运行和部分验证;请参阅下面的说明。
 
-2. 与KUnit不兼容的测试。使用 ``CONFIG_KASAN_MODULE_TEST`` 启用并且只能作为模块
-运行。这些测试只能通过加载内核模块并检查内核日志以获取KASAN报告来手动验证。
-
 如果检测到错误,每个KUnit兼容的KASAN测试都会打印多个KASAN报告之一,然后测试打印
 其编号和状态。
 
diff --git a/Documentation/translations/zh_TW/dev-tools/kasan.rst b/Documentation/translations/zh_TW/dev-tools/kasan.rst
index ed342e67d8e..19457860486 100644
--- a/Documentation/translations/zh_TW/dev-tools/kasan.rst
+++ b/Documentation/translations/zh_TW/dev-tools/kasan.rst
@@ -404,14 +404,10 @@ KASAN連接到vmap基礎架構以懶清理未使用的影子內存。
 ~~~~
 
 有一些KASAN測試可以驗證KASAN是否正常工作並可以檢測某些類型的內存損壞。
-測試由兩部分組成:
 
-1. 與KUnit測試框架集成的測試。使用 ``CONFIG_KASAN_KUNIT_TEST`` 啓用。
+與KUnit測試框架集成的測試。使用 ``CONFIG_KASAN_KUNIT_TEST`` 啓用。
 這些測試可以通過幾種不同的方式自動運行和部分驗證;請參閱下面的說明。
 
-2. 與KUnit不兼容的測試。使用 ``CONFIG_KASAN_MODULE_TEST`` 啓用並且只能作爲模塊
-運行。這些測試只能通過加載內核模塊並檢查內核日誌以獲取KASAN報告來手動驗證。
-
 如果檢測到錯誤,每個KUnit兼容的KASAN測試都會打印多個KASAN報告之一,然後測試打印
 其編號和狀態。
 
diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index 98016e137b7..f82889a830f 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -195,13 +195,6 @@ config KASAN_KUNIT_TEST
 	  For more information on KUnit and unit tests in general, please refer
 	  to the KUnit documentation in Documentation/dev-tools/kunit/.
 
-config KASAN_MODULE_TEST
-	tristate "KUnit-incompatible tests of KASAN bug detection capabilities"
-	depends on m && KASAN && !KASAN_HW_TAGS
-	help
-	  A part of the KASAN test suite that is not integrated with KUnit.
-	  Incompatible with Hardware Tag-Based KASAN.
-
 config KASAN_EXTRA_INFO
 	bool "Record and report more information"
 	depends on KASAN
diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
index f438a6cdc96..b7e4b81421b 100644
--- a/mm/kasan/kasan.h
+++ b/mm/kasan/kasan.h
@@ -568,7 +568,7 @@ static inline void kasan_kunit_test_suite_end(void) { }
 
 #endif /* CONFIG_KASAN_KUNIT_TEST */
 
-#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) || IS_ENABLED(CONFIG_KASAN_MODULE_TEST)
+#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
 
 bool kasan_save_enable_multi_shot(void);
 void kasan_restore_multi_shot(bool enabled);
diff --git a/mm/kasan/report.c b/mm/kasan/report.c
index b48c768acc8..3e48668c3e4 100644
--- a/mm/kasan/report.c
+++ b/mm/kasan/report.c
@@ -132,7 +132,7 @@ static bool report_enabled(void)
 	return !test_and_set_bit(KASAN_BIT_REPORTED, &kasan_flags);
 }
 
-#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) || IS_ENABLED(CONFIG_KASAN_MODULE_TEST)
+#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
 
 bool kasan_save_enable_multi_shot(void)
 {
-- 
2.34.1

Re: [PATCH v2 3/3] kasan: delete CONFIG_KASAN_MODULE_TEST
Posted by Andrey Konovalov 1 month, 2 weeks ago
On Sun, Oct 13, 2024 at 3:02 PM Sabyrzhan Tasbolatov
<snovitoll@gmail.com> wrote:
>
> diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst
> index d7de44f5339..52fdd6b5ef6 100644
> --- a/Documentation/dev-tools/kasan.rst
> +++ b/Documentation/dev-tools/kasan.rst
> @@ -511,17 +511,12 @@ Tests
>  ~~~~~
>
>  There are KASAN tests that allow verifying that KASAN works and can detect
> -certain types of memory corruptions. The tests consist of two parts:
> +certain types of memory corruptions.
>
> -1. Tests that are integrated with the KUnit Test Framework. Enabled with
> +Tests that are integrated with the KUnit Test Framework. Enabled with
>  ``CONFIG_KASAN_KUNIT_TEST``. These tests can be run and partially verified
>  automatically in a few different ways; see the instructions below.
>
> -2. Tests that are currently incompatible with KUnit. Enabled with
> -``CONFIG_KASAN_MODULE_TEST`` and can only be run as a module. These tests can
> -only be verified manually by loading the kernel module and inspecting the
> -kernel log for KASAN reports.
> -
>  Each KUnit-compatible KASAN test prints one of multiple KASAN reports if an
>  error is detected. Then the test prints its number and status.

Let's reword these parts even more, please see the attached file.
[PATCH v3 3/3] kasan: delete CONFIG_KASAN_MODULE_TEST
Posted by Sabyrzhan Tasbolatov 1 month, 2 weeks ago
Since we've migrated all tests to the KUnit framework,
we can delete CONFIG_KASAN_MODULE_TEST and mentioning of it in the
documentation as well.

I've used the online translator to modify the non-English documentation.

Signed-off-by: Sabyrzhan Tasbolatov <snovitoll@gmail.com>
---
Changes v2 -> v3:
- applied Andrey's patch to modify further kasan.rst.
---
 Documentation/dev-tools/kasan.rst             | 23 ++++++++-----------
 .../translations/zh_CN/dev-tools/kasan.rst    | 20 +++++++---------
 .../translations/zh_TW/dev-tools/kasan.rst    | 21 ++++++++---------
 lib/Kconfig.kasan                             |  7 ------
 mm/kasan/kasan.h                              |  2 +-
 mm/kasan/report.c                             |  2 +-
 6 files changed, 28 insertions(+), 47 deletions(-)

diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst
index d7de44f5339..0a1418ab72f 100644
--- a/Documentation/dev-tools/kasan.rst
+++ b/Documentation/dev-tools/kasan.rst
@@ -511,19 +511,14 @@ Tests
 ~~~~~
 
 There are KASAN tests that allow verifying that KASAN works and can detect
-certain types of memory corruptions. The tests consist of two parts:
+certain types of memory corruptions.
 
-1. Tests that are integrated with the KUnit Test Framework. Enabled with
-``CONFIG_KASAN_KUNIT_TEST``. These tests can be run and partially verified
+All KASAN tests are integrated with the KUnit Test Framework and can be enabled
+via ``CONFIG_KASAN_KUNIT_TEST``. The tests can be run and partially verified
 automatically in a few different ways; see the instructions below.
 
-2. Tests that are currently incompatible with KUnit. Enabled with
-``CONFIG_KASAN_MODULE_TEST`` and can only be run as a module. These tests can
-only be verified manually by loading the kernel module and inspecting the
-kernel log for KASAN reports.
-
-Each KUnit-compatible KASAN test prints one of multiple KASAN reports if an
-error is detected. Then the test prints its number and status.
+Each KASAN test prints one of multiple KASAN reports if an error is detected.
+Then the test prints its number and status.
 
 When a test passes::
 
@@ -550,16 +545,16 @@ Or, if one of the tests failed::
 
         not ok 1 - kasan
 
-There are a few ways to run KUnit-compatible KASAN tests.
+There are a few ways to run the KASAN tests.
 
 1. Loadable module
 
-   With ``CONFIG_KUNIT`` enabled, KASAN-KUnit tests can be built as a loadable
-   module and run by loading ``kasan_test.ko`` with ``insmod`` or ``modprobe``.
+   With ``CONFIG_KUNIT`` enabled, the tests can be built as a loadable module
+   and run by loading ``kasan_test.ko`` with ``insmod`` or ``modprobe``.
 
 2. Built-In
 
-   With ``CONFIG_KUNIT`` built-in, KASAN-KUnit tests can be built-in as well.
+   With ``CONFIG_KUNIT`` built-in, the tests can be built-in as well.
    In this case, the tests will run at boot as a late-init call.
 
 3. Using kunit_tool
diff --git a/Documentation/translations/zh_CN/dev-tools/kasan.rst b/Documentation/translations/zh_CN/dev-tools/kasan.rst
index 4491ad2830e..fd2e3afbdfa 100644
--- a/Documentation/translations/zh_CN/dev-tools/kasan.rst
+++ b/Documentation/translations/zh_CN/dev-tools/kasan.rst
@@ -422,16 +422,12 @@ KASAN连接到vmap基础架构以懒清理未使用的影子内存。
 ~~~~
 
 有一些KASAN测试可以验证KASAN是否正常工作并可以检测某些类型的内存损坏。
-测试由两部分组成:
 
-1. 与KUnit测试框架集成的测试。使用 ``CONFIG_KASAN_KUNIT_TEST`` 启用。
-这些测试可以通过几种不同的方式自动运行和部分验证;请参阅下面的说明。
+所有 KASAN 测试都与 KUnit 测试框架集成,可通过 ``CONFIG_KASAN_KUNIT_TEST`` 启用。
+测试可以通过几种不同的方式自动运行和部分验证;请参阅以下说明。
 
-2. 与KUnit不兼容的测试。使用 ``CONFIG_KASAN_MODULE_TEST`` 启用并且只能作为模块
-运行。这些测试只能通过加载内核模块并检查内核日志以获取KASAN报告来手动验证。
-
-如果检测到错误,每个KUnit兼容的KASAN测试都会打印多个KASAN报告之一,然后测试打印
-其编号和状态。
+如果检测到错误,每个 KASAN 测试都会打印多份 KASAN 报告中的一份。
+然后测试会打印其编号和状态。
 
 当测试通过::
 
@@ -458,16 +454,16 @@ KASAN连接到vmap基础架构以懒清理未使用的影子内存。
 
         not ok 1 - kasan
 
-有几种方法可以运行与KUnit兼容的KASAN测试。
+有几种方法可以运行 KASAN 测试。
 
 1. 可加载模块
 
-   启用 ``CONFIG_KUNIT`` 后,KASAN-KUnit测试可以构建为可加载模块,并通过使用
-   ``insmod`` 或 ``modprobe`` 加载 ``kasan_test.ko`` 来运行。
+   启用 ``CONFIG_KUNIT`` 后,可以将测试构建为可加载模块
+   并通过使用 ``insmod`` 或 ``modprobe`` 加载 ``kasan_test.ko`` 来运行。
 
 2. 内置
 
-   通过内置 ``CONFIG_KUNIT`` ,也可以内置KASAN-KUnit测试。在这种情况下,
+   通过内置 ``CONFIG_KUNIT``,测试也可以内置。
    测试将在启动时作为后期初始化调用运行。
 
 3. 使用kunit_tool
diff --git a/Documentation/translations/zh_TW/dev-tools/kasan.rst b/Documentation/translations/zh_TW/dev-tools/kasan.rst
index ed342e67d8e..35b7fd18aa4 100644
--- a/Documentation/translations/zh_TW/dev-tools/kasan.rst
+++ b/Documentation/translations/zh_TW/dev-tools/kasan.rst
@@ -404,16 +404,13 @@ KASAN連接到vmap基礎架構以懶清理未使用的影子內存。
 ~~~~
 
 有一些KASAN測試可以驗證KASAN是否正常工作並可以檢測某些類型的內存損壞。
-測試由兩部分組成:
 
-1. 與KUnit測試框架集成的測試。使用 ``CONFIG_KASAN_KUNIT_TEST`` 啓用。
-這些測試可以通過幾種不同的方式自動運行和部分驗證;請參閱下面的說明。
+所有 KASAN 測試均與 KUnit 測試框架集成,並且可以啟用
+透過 ``CONFIG_KASAN_KUNIT_TEST``。可以運行測試並進行部分驗證
+ 以幾種不同的方式自動進行;請參閱下面的說明。
 
-2. 與KUnit不兼容的測試。使用 ``CONFIG_KASAN_MODULE_TEST`` 啓用並且只能作爲模塊
-運行。這些測試只能通過加載內核模塊並檢查內核日誌以獲取KASAN報告來手動驗證。
-
-如果檢測到錯誤,每個KUnit兼容的KASAN測試都會打印多個KASAN報告之一,然後測試打印
-其編號和狀態。
+如果偵測到錯誤,每個 KASAN 測試都會列印多個 KASAN 報告之一。
+然後測試列印其編號和狀態。
 
 當測試通過::
 
@@ -440,16 +437,16 @@ KASAN連接到vmap基礎架構以懶清理未使用的影子內存。
 
         not ok 1 - kasan
 
-有幾種方法可以運行與KUnit兼容的KASAN測試。
+有幾種方法可以執行 KASAN 測試。
 
 1. 可加載模塊
 
-   啓用 ``CONFIG_KUNIT`` 後,KASAN-KUnit測試可以構建爲可加載模塊,並通過使用
-   ``insmod`` 或 ``modprobe`` 加載 ``kasan_test.ko`` 來運行。
+   啟用 ``CONFIG_KUNIT`` 後,測試可以建置為可載入模組
+   並且透過使用 ``insmod`` 或 ``modprobe`` 來載入 ``kasan_test.ko`` 來運作。
 
 2. 內置
 
-   通過內置 ``CONFIG_KUNIT`` ,也可以內置KASAN-KUnit測試。在這種情況下,
+   透過內建 ``CONFIG_KUNIT``,測試也可以內建。
    測試將在啓動時作爲後期初始化調用運行。
 
 3. 使用kunit_tool
diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index 98016e137b7..f82889a830f 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -195,13 +195,6 @@ config KASAN_KUNIT_TEST
 	  For more information on KUnit and unit tests in general, please refer
 	  to the KUnit documentation in Documentation/dev-tools/kunit/.
 
-config KASAN_MODULE_TEST
-	tristate "KUnit-incompatible tests of KASAN bug detection capabilities"
-	depends on m && KASAN && !KASAN_HW_TAGS
-	help
-	  A part of the KASAN test suite that is not integrated with KUnit.
-	  Incompatible with Hardware Tag-Based KASAN.
-
 config KASAN_EXTRA_INFO
 	bool "Record and report more information"
 	depends on KASAN
diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
index f438a6cdc96..b7e4b81421b 100644
--- a/mm/kasan/kasan.h
+++ b/mm/kasan/kasan.h
@@ -568,7 +568,7 @@ static inline void kasan_kunit_test_suite_end(void) { }
 
 #endif /* CONFIG_KASAN_KUNIT_TEST */
 
-#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) || IS_ENABLED(CONFIG_KASAN_MODULE_TEST)
+#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
 
 bool kasan_save_enable_multi_shot(void);
 void kasan_restore_multi_shot(bool enabled);
diff --git a/mm/kasan/report.c b/mm/kasan/report.c
index b48c768acc8..3e48668c3e4 100644
--- a/mm/kasan/report.c
+++ b/mm/kasan/report.c
@@ -132,7 +132,7 @@ static bool report_enabled(void)
 	return !test_and_set_bit(KASAN_BIT_REPORTED, &kasan_flags);
 }
 
-#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) || IS_ENABLED(CONFIG_KASAN_MODULE_TEST)
+#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
 
 bool kasan_save_enable_multi_shot(void)
 {
-- 
2.34.1

Re: [PATCH v3 3/3] kasan: delete CONFIG_KASAN_MODULE_TEST
Posted by Andrey Konovalov 1 month, 2 weeks ago
On Sun, Oct 13, 2024 at 8:20 PM Sabyrzhan Tasbolatov
<snovitoll@gmail.com> wrote:
>
> Since we've migrated all tests to the KUnit framework,
> we can delete CONFIG_KASAN_MODULE_TEST and mentioning of it in the
> documentation as well.
>
> I've used the online translator to modify the non-English documentation.
>
> Signed-off-by: Sabyrzhan Tasbolatov <snovitoll@gmail.com>
> ---
> Changes v2 -> v3:
> - applied Andrey's patch to modify further kasan.rst.
> ---
>  Documentation/dev-tools/kasan.rst             | 23 ++++++++-----------
>  .../translations/zh_CN/dev-tools/kasan.rst    | 20 +++++++---------
>  .../translations/zh_TW/dev-tools/kasan.rst    | 21 ++++++++---------
>  lib/Kconfig.kasan                             |  7 ------
>  mm/kasan/kasan.h                              |  2 +-
>  mm/kasan/report.c                             |  2 +-
>  6 files changed, 28 insertions(+), 47 deletions(-)
>
> diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst
> index d7de44f5339..0a1418ab72f 100644
> --- a/Documentation/dev-tools/kasan.rst
> +++ b/Documentation/dev-tools/kasan.rst
> @@ -511,19 +511,14 @@ Tests
>  ~~~~~
>
>  There are KASAN tests that allow verifying that KASAN works and can detect
> -certain types of memory corruptions. The tests consist of two parts:
> +certain types of memory corruptions.
>
> -1. Tests that are integrated with the KUnit Test Framework. Enabled with
> -``CONFIG_KASAN_KUNIT_TEST``. These tests can be run and partially verified
> +All KASAN tests are integrated with the KUnit Test Framework and can be enabled
> +via ``CONFIG_KASAN_KUNIT_TEST``. The tests can be run and partially verified
>  automatically in a few different ways; see the instructions below.
>
> -2. Tests that are currently incompatible with KUnit. Enabled with
> -``CONFIG_KASAN_MODULE_TEST`` and can only be run as a module. These tests can
> -only be verified manually by loading the kernel module and inspecting the
> -kernel log for KASAN reports.
> -
> -Each KUnit-compatible KASAN test prints one of multiple KASAN reports if an
> -error is detected. Then the test prints its number and status.
> +Each KASAN test prints one of multiple KASAN reports if an error is detected.
> +Then the test prints its number and status.
>
>  When a test passes::
>
> @@ -550,16 +545,16 @@ Or, if one of the tests failed::
>
>          not ok 1 - kasan
>
> -There are a few ways to run KUnit-compatible KASAN tests.
> +There are a few ways to run the KASAN tests.
>
>  1. Loadable module
>
> -   With ``CONFIG_KUNIT`` enabled, KASAN-KUnit tests can be built as a loadable
> -   module and run by loading ``kasan_test.ko`` with ``insmod`` or ``modprobe``.
> +   With ``CONFIG_KUNIT`` enabled, the tests can be built as a loadable module
> +   and run by loading ``kasan_test.ko`` with ``insmod`` or ``modprobe``.
>
>  2. Built-In
>
> -   With ``CONFIG_KUNIT`` built-in, KASAN-KUnit tests can be built-in as well.
> +   With ``CONFIG_KUNIT`` built-in, the tests can be built-in as well.
>     In this case, the tests will run at boot as a late-init call.
>
>  3. Using kunit_tool
> diff --git a/Documentation/translations/zh_CN/dev-tools/kasan.rst b/Documentation/translations/zh_CN/dev-tools/kasan.rst
> index 4491ad2830e..fd2e3afbdfa 100644
> --- a/Documentation/translations/zh_CN/dev-tools/kasan.rst
> +++ b/Documentation/translations/zh_CN/dev-tools/kasan.rst
> @@ -422,16 +422,12 @@ KASAN连接到vmap基础架构以懒清理未使用的影子内存。
>  ~~~~
>
>  有一些KASAN测试可以验证KASAN是否正常工作并可以检测某些类型的内存损坏。
> -测试由两部分组成:
>
> -1. 与KUnit测试框架集成的测试。使用 ``CONFIG_KASAN_KUNIT_TEST`` 启用。
> -这些测试可以通过几种不同的方式自动运行和部分验证;请参阅下面的说明。
> +所有 KASAN 测试都与 KUnit 测试框架集成,可通过 ``CONFIG_KASAN_KUNIT_TEST`` 启用。
> +测试可以通过几种不同的方式自动运行和部分验证;请参阅以下说明。
>
> -2. 与KUnit不兼容的测试。使用 ``CONFIG_KASAN_MODULE_TEST`` 启用并且只能作为模块
> -运行。这些测试只能通过加载内核模块并检查内核日志以获取KASAN报告来手动验证。
> -
> -如果检测到错误,每个KUnit兼容的KASAN测试都会打印多个KASAN报告之一,然后测试打印
> -其编号和状态。
> +如果检测到错误,每个 KASAN 测试都会打印多份 KASAN 报告中的一份。
> +然后测试会打印其编号和状态。
>
>  当测试通过::
>
> @@ -458,16 +454,16 @@ KASAN连接到vmap基础架构以懒清理未使用的影子内存。
>
>          not ok 1 - kasan
>
> -有几种方法可以运行与KUnit兼容的KASAN测试。
> +有几种方法可以运行 KASAN 测试。
>
>  1. 可加载模块
>
> -   启用 ``CONFIG_KUNIT`` 后,KASAN-KUnit测试可以构建为可加载模块,并通过使用
> -   ``insmod`` 或 ``modprobe`` 加载 ``kasan_test.ko`` 来运行。
> +   启用 ``CONFIG_KUNIT`` 后,可以将测试构建为可加载模块
> +   并通过使用 ``insmod`` 或 ``modprobe`` 加载 ``kasan_test.ko`` 来运行。
>
>  2. 内置
>
> -   通过内置 ``CONFIG_KUNIT`` ,也可以内置KASAN-KUnit测试。在这种情况下,
> +   通过内置 ``CONFIG_KUNIT``,测试也可以内置。
>     测试将在启动时作为后期初始化调用运行。
>
>  3. 使用kunit_tool
> diff --git a/Documentation/translations/zh_TW/dev-tools/kasan.rst b/Documentation/translations/zh_TW/dev-tools/kasan.rst
> index ed342e67d8e..35b7fd18aa4 100644
> --- a/Documentation/translations/zh_TW/dev-tools/kasan.rst
> +++ b/Documentation/translations/zh_TW/dev-tools/kasan.rst
> @@ -404,16 +404,13 @@ KASAN連接到vmap基礎架構以懶清理未使用的影子內存。
>  ~~~~
>
>  有一些KASAN測試可以驗證KASAN是否正常工作並可以檢測某些類型的內存損壞。
> -測試由兩部分組成:
>
> -1. 與KUnit測試框架集成的測試。使用 ``CONFIG_KASAN_KUNIT_TEST`` 啓用。
> -這些測試可以通過幾種不同的方式自動運行和部分驗證;請參閱下面的說明。
> +所有 KASAN 測試均與 KUnit 測試框架集成,並且可以啟用
> +透過 ``CONFIG_KASAN_KUNIT_TEST``。可以運行測試並進行部分驗證
> + 以幾種不同的方式自動進行;請參閱下面的說明。
>
> -2. 與KUnit不兼容的測試。使用 ``CONFIG_KASAN_MODULE_TEST`` 啓用並且只能作爲模塊
> -運行。這些測試只能通過加載內核模塊並檢查內核日誌以獲取KASAN報告來手動驗證。
> -
> -如果檢測到錯誤,每個KUnit兼容的KASAN測試都會打印多個KASAN報告之一,然後測試打印
> -其編號和狀態。
> +如果偵測到錯誤,每個 KASAN 測試都會列印多個 KASAN 報告之一。
> +然後測試列印其編號和狀態。
>
>  當測試通過::
>
> @@ -440,16 +437,16 @@ KASAN連接到vmap基礎架構以懶清理未使用的影子內存。
>
>          not ok 1 - kasan
>
> -有幾種方法可以運行與KUnit兼容的KASAN測試。
> +有幾種方法可以執行 KASAN 測試。
>
>  1. 可加載模塊
>
> -   啓用 ``CONFIG_KUNIT`` 後,KASAN-KUnit測試可以構建爲可加載模塊,並通過使用
> -   ``insmod`` 或 ``modprobe`` 加載 ``kasan_test.ko`` 來運行。
> +   啟用 ``CONFIG_KUNIT`` 後,測試可以建置為可載入模組
> +   並且透過使用 ``insmod`` 或 ``modprobe`` 來載入 ``kasan_test.ko`` 來運作。
>
>  2. 內置
>
> -   通過內置 ``CONFIG_KUNIT`` ,也可以內置KASAN-KUnit測試。在這種情況下,
> +   透過內建 ``CONFIG_KUNIT``,測試也可以內建。
>     測試將在啓動時作爲後期初始化調用運行。
>
>  3. 使用kunit_tool
> diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
> index 98016e137b7..f82889a830f 100644
> --- a/lib/Kconfig.kasan
> +++ b/lib/Kconfig.kasan
> @@ -195,13 +195,6 @@ config KASAN_KUNIT_TEST
>           For more information on KUnit and unit tests in general, please refer
>           to the KUnit documentation in Documentation/dev-tools/kunit/.
>
> -config KASAN_MODULE_TEST
> -       tristate "KUnit-incompatible tests of KASAN bug detection capabilities"
> -       depends on m && KASAN && !KASAN_HW_TAGS
> -       help
> -         A part of the KASAN test suite that is not integrated with KUnit.
> -         Incompatible with Hardware Tag-Based KASAN.
> -
>  config KASAN_EXTRA_INFO
>         bool "Record and report more information"
>         depends on KASAN
> diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
> index f438a6cdc96..b7e4b81421b 100644
> --- a/mm/kasan/kasan.h
> +++ b/mm/kasan/kasan.h
> @@ -568,7 +568,7 @@ static inline void kasan_kunit_test_suite_end(void) { }
>
>  #endif /* CONFIG_KASAN_KUNIT_TEST */
>
> -#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) || IS_ENABLED(CONFIG_KASAN_MODULE_TEST)
> +#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
>
>  bool kasan_save_enable_multi_shot(void);
>  void kasan_restore_multi_shot(bool enabled);
> diff --git a/mm/kasan/report.c b/mm/kasan/report.c
> index b48c768acc8..3e48668c3e4 100644
> --- a/mm/kasan/report.c
> +++ b/mm/kasan/report.c
> @@ -132,7 +132,7 @@ static bool report_enabled(void)
>         return !test_and_set_bit(KASAN_BIT_REPORTED, &kasan_flags);
>  }
>
> -#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST) || IS_ENABLED(CONFIG_KASAN_MODULE_TEST)
> +#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
>
>  bool kasan_save_enable_multi_shot(void)
>  {
> --
> 2.34.1
>

Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>