All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 01/11] kasan: docs: clean up sections
@ 2021-03-12 14:24 Andrey Konovalov
  2021-03-12 14:24 ` [PATCH v2 02/11] kasan: docs: update overview section Andrey Konovalov
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Andrey Konovalov @ 2021-03-12 14:24 UTC (permalink / raw)
  To: Andrew Morton, Alexander Potapenko, Marco Elver
  Cc: Andrey Ryabinin, Dmitry Vyukov, kasan-dev, linux-mm, linux-kernel,
	Andrey Konovalov

Update KASAN documentation:

- Give some sections clearer names.
- Remove unneeded subsections in the "Tests" section.
- Move the "For developers" section and split into subsections.

Signed-off-by: Andrey Konovalov <andreyknvl@google.com>

---

Changes v1->v2:
- Rename "By default" section to "Default behaviour".
---
 Documentation/dev-tools/kasan.rst | 54 +++++++++++++++----------------
 1 file changed, 27 insertions(+), 27 deletions(-)

diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst
index ddf4239a5890..b3b2c517db55 100644
--- a/Documentation/dev-tools/kasan.rst
+++ b/Documentation/dev-tools/kasan.rst
@@ -168,24 +168,6 @@ particular KASAN features.
   report or also panic the kernel (default: ``report``). Note, that tag
   checking gets disabled after the first reported bug.
 
-For developers
-~~~~~~~~~~~~~~
-
-Software KASAN modes use compiler instrumentation to insert validity checks.
-Such instrumentation might be incompatible with some part of the kernel, and
-therefore needs to be disabled. To disable instrumentation for specific files
-or directories, add a line similar to the following to the respective kernel
-Makefile:
-
-- For a single file (e.g. main.o)::
-
-    KASAN_SANITIZE_main.o := n
-
-- For all files in one directory::
-
-    KASAN_SANITIZE := n
-
-
 Implementation details
 ----------------------
 
@@ -299,8 +281,8 @@ support MTE (but supports TBI).
 Hardware tag-based KASAN only reports the first found bug. After that MTE tag
 checking gets disabled.
 
-What memory accesses are sanitised by KASAN?
---------------------------------------------
+Shadow memory
+-------------
 
 The kernel maps memory in a number of different parts of the address
 space. This poses something of a problem for KASAN, which requires
@@ -311,8 +293,8 @@ The range of kernel virtual addresses is large: there is not enough
 real memory to support a real shadow region for every address that
 could be accessed by the kernel.
 
-By default
-~~~~~~~~~~
+Default behaviour
+~~~~~~~~~~~~~~~~~
 
 By default, architectures only map real memory over the shadow region
 for the linear mapping (and potentially other small areas). For all
@@ -362,8 +344,29 @@ unmapped. This will require changes in arch-specific code.
 This allows ``VMAP_STACK`` support on x86, and can simplify support of
 architectures that do not have a fixed module region.
 
-CONFIG_KASAN_KUNIT_TEST and CONFIG_KASAN_MODULE_TEST
-----------------------------------------------------
+For developers
+--------------
+
+Ignoring accesses
+~~~~~~~~~~~~~~~~~
+
+Software KASAN modes use compiler instrumentation to insert validity checks.
+Such instrumentation might be incompatible with some part of the kernel, and
+therefore needs to be disabled. To disable instrumentation for specific files
+or directories, add a line similar to the following to the respective kernel
+Makefile:
+
+- For a single file (e.g. main.o)::
+
+    KASAN_SANITIZE_main.o := n
+
+- For all files in one directory::
+
+    KASAN_SANITIZE := n
+
+
+Tests
+~~~~~
 
 KASAN tests consist of two parts:
 
@@ -409,21 +412,18 @@ Or, if one of the tests failed::
 There are a few ways to run KUnit-compatible KASAN tests.
 
 1. Loadable module
-~~~~~~~~~~~~~~~~~~
 
 With ``CONFIG_KUNIT`` enabled, ``CONFIG_KASAN_KUNIT_TEST`` can be built as
 a loadable module and run on any architecture that supports KASAN by loading
 the module with insmod or modprobe. The module is called ``test_kasan``.
 
 2. Built-In
-~~~~~~~~~~~
 
 With ``CONFIG_KUNIT`` built-in, ``CONFIG_KASAN_KUNIT_TEST`` can be built-in
 on any architecure that supports KASAN. These and any other KUnit tests enabled
 will run and print the results at boot as a late-init call.
 
 3. Using kunit_tool
-~~~~~~~~~~~~~~~~~~~
 
 With ``CONFIG_KUNIT`` and ``CONFIG_KASAN_KUNIT_TEST`` built-in, it's also
 possible use ``kunit_tool`` to see the results of these and other KUnit tests
-- 
2.31.0.rc2.261.g7f71774620-goog



^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-03-12 15:11 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-12 14:24 [PATCH v2 01/11] kasan: docs: clean up sections Andrey Konovalov
2021-03-12 14:24 ` [PATCH v2 02/11] kasan: docs: update overview section Andrey Konovalov
2021-03-12 15:07   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 03/11] kasan: docs: update usage section Andrey Konovalov
2021-03-12 15:07   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 04/11] kasan: docs: update error reports section Andrey Konovalov
2021-03-12 15:08   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 05/11] kasan: docs: update boot parameters section Andrey Konovalov
2021-03-12 15:08   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 06/11] kasan: docs: update GENERIC implementation details section Andrey Konovalov
2021-03-12 15:08   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 07/11] kasan: docs: update SW_TAGS " Andrey Konovalov
2021-03-12 15:09   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 08/11] kasan: docs: update HW_TAGS " Andrey Konovalov
2021-03-12 15:09   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 09/11] kasan: docs: update shadow memory section Andrey Konovalov
2021-03-12 15:09   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 10/11] kasan: docs: update ignoring accesses section Andrey Konovalov
2021-03-12 15:10   ` Marco Elver
2021-03-12 14:24 ` [PATCH v2 11/11] kasan: docs: update tests section Andrey Konovalov
2021-03-12 15:11   ` Marco Elver
2021-03-12 15:06 ` [PATCH v2 01/11] kasan: docs: clean up sections Marco Elver

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.