Re: [PATCH v1 07/13] docs/zh_CN: Update the translation of testing-overview to 6.1-rc8

Yanteng Si
2022-12-10T02:56:27Z

在 12/9/22 15:05, Wu XiangCheng 写道:
>> Update to commit a32d5c0fc12b ("Documentation: dev-tools:
>> Enhance static analysis section with discussion")
>>
>> Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
>> ---
>> .../zh_CN/dev-tools/testing-overview.rst | 27 +++++++++++++++++++
>> 1 file changed, 27 insertions(+)
>>
>> diff --git a/Documentation/translations/zh_CN/dev-tools/testing-overview.rst b/Documentation/translations/zh_CN/dev-tools/testing-overview.rst
>> index d6f2c65ed511..d53a326de93a 100644
>> --- a/Documentation/translations/zh_CN/dev-tools/testing-overview.rst
>> +++ b/Documentation/translations/zh_CN/dev-tools/testing-overview.rst
>> @@ -132,3 +132,30 @@ Documentation/dev-tools/kcov.rst 是能够构建在内核之中，用于在每
>>
>> 不过要注意的是，静态分析工具存在**假阳性**的问题。在试图修复错误和警
>> 告之前，需要仔细评估它们。
>> +
>> +何时使用Sparse和Smatch
>> +----------------------
>> +
>> +Sparse做类型检查，例如验证注释的变量不会导致无符号的错误，检测
>> +``__user`` 指针使用不当的地方，以及分析符号初始化器的兼容性。
>> +
>> +Smatch进行流程分析，如果允许建立函数数据库，它还会进行跨函数分析。
>> +Smatch试图回答一些问题，比如这个缓冲区是在哪里分配的？它有多大？这
>> +个索引可以由用户控制吗？这个变量比那个变量大吗？
>> +
>> +一般来说，在Smatch中写检查比在Sparse中写检查要容易。尽管如此，
>> +Sparse和Smatch的检查还是有一些重叠的地方。
>> +
>> +Smatch和Coccinelle的强项
>> +------------------------
>> +
>> +Coccinelle可能是最容易写检查的。它在预处理器之前工作，所以用Coccinelle
>> +检查宏中的错误更容易。Coccinelle还能为你创建补丁，这是其他工具无法做到的。
>> +
>> +例如，用Coccinelle你可以从kmalloc(x * size, GFP_KERNEL)到
> ``kmalloc(x * size, GFP_KERNEL)``

OK!

Thanks,

Yanteng

>
>> +``kmalloc_array(x, size, GFP_KERNEL)`` 进行大规模转换，这真的很有用。
>> +如果你只是创建一个Smatch警告，并试图把转换的工作推给维护者，他们会很恼火。
>> +你将不得不为每个警告争论是否真的可以溢出。
>> +
>> +Coccinelle不对变量值进行分析，而这正是Smatch的强项。另一方面，Coccinelle
>> +允许你用简单的方法做简单的事情。
>> --
>> 2.31.1
>>