Re: [PATCH v2 08/11] kasan: docs: update HW_TAGS implementation details section

From: Marco Elver
Date: Fri Mar 12 2021 - 10:10:29 EST


On Fri, Mar 12, 2021 at 03:24PM +0100, Andrey Konovalov wrote:
> Update the "Implementation details" section for HW_TAGS KASAN:
>
> - Punctuation, readability, and other minor clean-ups.
>
> Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>

Reviewed-by: Marco Elver <elver@xxxxxxxxxx>

> ---
> Documentation/dev-tools/kasan.rst | 26 +++++++++++++-------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst
> index 5873d80cc1fd..2744ae6347c6 100644
> --- a/Documentation/dev-tools/kasan.rst
> +++ b/Documentation/dev-tools/kasan.rst
> @@ -270,35 +270,35 @@ memory.
> Hardware tag-based KASAN
> ~~~~~~~~~~~~~~~~~~~~~~~~
>
> -Hardware tag-based KASAN is similar to the software mode in concept, but uses
> +Hardware tag-based KASAN is similar to the software mode in concept but uses
> hardware memory tagging support instead of compiler instrumentation and
> shadow memory.
>
> Hardware tag-based KASAN is currently only implemented for arm64 architecture
> and based on both arm64 Memory Tagging Extension (MTE) introduced in ARMv8.5
> -Instruction Set Architecture, and Top Byte Ignore (TBI).
> +Instruction Set Architecture and Top Byte Ignore (TBI).
>
> Special arm64 instructions are used to assign memory tags for each allocation.
> Same tags are assigned to pointers to those allocations. On every memory
> -access, hardware makes sure that tag of the memory that is being accessed is
> -equal to tag of the pointer that is used to access this memory. In case of a
> -tag mismatch a fault is generated and a report is printed.
> +access, hardware makes sure that the tag of the memory that is being accessed is
> +equal to the tag of the pointer that is used to access this memory. In case of a
> +tag mismatch, a fault is generated, and a report is printed.
>
> Hardware tag-based KASAN uses 0xFF as a match-all pointer tag (accesses through
> -pointers with 0xFF pointer tag aren't checked). The value 0xFE is currently
> +pointers with the 0xFF pointer tag are not checked). The value 0xFE is currently
> reserved to tag freed memory regions.
>
> -Hardware tag-based KASAN currently only supports tagging of
> -kmem_cache_alloc/kmalloc and page_alloc memory.
> +Hardware tag-based KASAN currently only supports tagging of slab and page_alloc
> +memory.
>
> -If the hardware doesn't support MTE (pre ARMv8.5), hardware tag-based KASAN
> -won't be enabled. In this case all boot parameters are ignored.
> +If the hardware does not support MTE (pre ARMv8.5), hardware tag-based KASAN
> +will not be enabled. In this case, all KASAN boot parameters are ignored.
>
> -Note, that enabling CONFIG_KASAN_HW_TAGS always results in in-kernel TBI being
> -enabled. Even when kasan.mode=off is provided, or when the hardware doesn't
> +Note that enabling CONFIG_KASAN_HW_TAGS always results in in-kernel TBI being
> +enabled. Even when ``kasan.mode=off`` is provided or when the hardware does not
> support MTE (but supports TBI).
>
> -Hardware tag-based KASAN only reports the first found bug. After that MTE tag
> +Hardware tag-based KASAN only reports the first found bug. After that, MTE tag
> checking gets disabled.
>
> Shadow memory
> --
> 2.31.0.rc2.261.g7f71774620-goog
>