> Update to commit cd36d84d2571 ("kasan: allow sampling > page_alloc allocations for HW_TAGS") > > Commit 80b92bfe3bb7 ("kasan: dynamically allocate > stack ring entries") > Commit 7ebfce331251 ("kasan: support kasan.stacktrace > for SW_TAGS") > Commit ca89f2a2e66d ("kasan: move boot parameters > section in documentation") > > Signed-off-by: Yanteng Si <siyanteng@xxxxxxxxxxx> > --- > .../translations/zh_CN/dev-tools/kasan.rst | 77 +++++++++++-------- > 1 file changed, 44 insertions(+), 33 deletions(-) > > diff --git a/Documentation/translations/zh_CN/dev-tools/kasan.rst b/Documentation/translations/zh_CN/dev-tools/kasan.rst > index fe76cbe77ad6..c645b1b6cc53 100644 > --- a/Documentation/translations/zh_CN/dev-tools/kasan.rst > +++ b/Documentation/translations/zh_CN/dev-tools/kasan.rst > @@ -90,6 +90,50 @@ KASAN只支持SLUB。 > ``CONFIG_STACKTRACE`` 。要包括受影响物理页面的分配和释放堆栈跟踪的话, > 请启用 ``CONFIG_PAGE_OWNER`` 并使用 ``page_owner=on`` 进行引导。 > > +启动参数 > +~~~~~~~~ > + > +KASAN受到通用 ``panic_on_warn`` 命令行参数的影响。当它被启用时,KASAN > +在打印出错误报告后会使内核恐慌。 > + > +默认情况下,KASAN只对第一个无效的内存访问打印错误报告。使用 > +``kasan_multi_shot``,KASAN对每一个无效的访问都打印一份报告。这有效地 有效地 => 会 > +禁用了KASAN报告的 ``panic_on_warn``。 > + > +另外,独立于 ``panic_on_warn`` 、 ``kasan.fault=`` boot参数可以用 > +来控制恐慌和报告行为。 > + > +- ``kasan.fault=report`` 或 ``=panic`` 控制是否只打印KASAN报告或 > + 同时使内核恐慌(默认: ``报告`` )。即使 ``kasan_multi_shot`` 被 报告 => report > + 启用,恐慌也会发生。 > + > +基于软件和硬件标签的KASAN模式(见下面关于各种模式的部分)支持改变堆栈跟 > +踪收集行为: > + > +- ``kasan.stacktrace=off`` 或 ``=on`` 禁用或启用分配和释放堆栈痕 > + 迹的收集(默认: ``on`` )。 > + > +- ``kasan.stack_ring_size=<number of entries>`` 指定堆栈环的条 > + 目数(默认: ``32768`` )。 > + > +基于硬件标签的KASAN模式是为了在生产中作为一种安全缓解措施使用。因此,它 > +支持额外的启动参数,允许完全禁用KASAN或控制其功能。 > + > +- ``kasan=off`` 或 ``=on`` 控制KASAN是否被启用(默认: ``on`` )。 > + > +- ``kasan.mode=sync``, ``=async`` or ``=asymm`` 控制KASAN是否 > + 被配置为同步、异步或非对称的执行模式(默认: ``同步`` )。 > + 同步模式:当标签检查异常发生时,会立即检测到不良访问。 > + 异步模式:不良访问的检测是延迟的。当标签检查异常发生时,信息被存储在硬 > + 件中(对于arm64来说是在TFSR_EL1寄存器中)。内核周期性地检查硬件,并\ > + 且只在这些检查中报告标签异常。 > + 非对称模式:读取时同步检测不良访问,写入时异步检测。 > + > +- ``kasan.vmalloc=off`` or ``=on`` 禁用或启用vmalloc分配的标记(默认: ``on`` )。 > + > +- ``kasan.page_alloc.sample=<sampling frequency>`` 使得KASAN > + 只对每N次page_alloc分配进行标记,其中N是参数的值(默认值: ``1`` )。 Remove previous paragraph. > + > 错误报告 > ~~~~~~~~ > > @@ -194,39 +238,6 @@ slab对象的描述以及关于访问的内存页的信息。 > 通用KASAN还报告两个辅助调用堆栈跟踪。这些堆栈跟踪指向代码中与对象交互但不直接 > 出现在错误访问堆栈跟踪中的位置。目前,这包括 call_rcu() 和排队的工作队列。 > > -启动参数 > -~~~~~~~~ > - > -KASAN受通用 ``panic_on_warn`` 命令行参数的影响。启用该功能后,KASAN在打印错误 > -报告后会引起内核恐慌。 > - > -默认情况下,KASAN只为第一次无效内存访问打印错误报告。使用 ``kasan_multi_shot`` , > -KASAN会针对每个无效访问打印报告。这有效地禁用了KASAN报告的 ``panic_on_warn`` 。 > - > -另外,独立于 ``panic_on_warn`` , ``kasan.fault=`` 引导参数可以用来控制恐慌和报 > -告行为: > - > -- ``kasan.fault=report`` 或 ``=panic`` 控制是只打印KASAN报告还是同时使内核恐慌 > - (默认: ``report`` )。即使启用了 ``kasan_multi_shot`` ,也会发生内核恐慌。 > - > -基于硬件标签的KASAN模式(请参阅下面有关各种模式的部分)旨在在生产中用作安全缓解 > -措施。因此,它支持允许禁用KASAN或控制其功能的附加引导参数。 > - > -- ``kasan=off`` 或 ``=on`` 控制KASAN是否启用 (默认: ``on`` )。 > - > -- ``kasan.mode=sync`` 、 ``=async`` 或 ``=asymm`` 控制KASAN是否配置 > - 为同步或异步执行模式(默认:``sync`` )。 > - 同步模式:当标签检查错误发生时,立即检测到错误访问。 > - 异步模式:延迟错误访问检测。当标签检查错误发生时,信息存储在硬件中(在arm64的 > - TFSR_EL1寄存器中)。内核会定期检查硬件,并且仅在这些检查期间报告标签错误。 > - 非对称模式:读取时同步检测不良访问,写入时异步检测。 > - > -- ``kasan.vmalloc=off`` 或 ``=on`` 禁用或启用vmalloc分配的标记(默认:``on`` )。 > - > -- ``kasan.stacktrace=off`` 或 ``=on`` 禁用或启用alloc和free堆栈跟踪收集 > - (默认: ``on`` )。 > - > - > 实施细则 > -------- > > -- > 2.31.1 >