kasan: move boot parameters section in documentation
Move the "Boot parameters" section in KASAN documentation next to the section that describes KASAN build options. No content changes. Link: https://lkml.kernel.org/r/870628e1293b4f44edf7cbcb92374ff9eb7503d7.1652203271.git.andreyknvl@google.com Link: https://lkml.kernel.org/r/ec9c923f35e7c5312836c4624a7f317dc1ee2c1c.1652123204.git.andreyknvl@google.com Signed-off-by: Andrey Konovalov <andreyknvl@google.com> Reviewed-by: Marco Elver <elver@google.com> Cc: Alexander Potapenko <glider@google.com> Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> Cc: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
c2ec0c8f68
commit
ca89f2a2e6
|
@ -94,6 +94,47 @@ To include alloc and free stack traces of affected slab objects into reports,
|
||||||
enable ``CONFIG_STACKTRACE``. To include alloc and free stack traces of affected
|
enable ``CONFIG_STACKTRACE``. To include alloc and free stack traces of affected
|
||||||
physical pages, enable ``CONFIG_PAGE_OWNER`` and boot with ``page_owner=on``.
|
physical pages, enable ``CONFIG_PAGE_OWNER`` and boot with ``page_owner=on``.
|
||||||
|
|
||||||
|
Boot parameters
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
KASAN is affected by the generic ``panic_on_warn`` command line parameter.
|
||||||
|
When it is enabled, KASAN panics the kernel after printing a bug report.
|
||||||
|
|
||||||
|
By default, KASAN prints a bug report only for the first invalid memory access.
|
||||||
|
With ``kasan_multi_shot``, KASAN prints a report on every invalid access. This
|
||||||
|
effectively disables ``panic_on_warn`` for KASAN reports.
|
||||||
|
|
||||||
|
Alternatively, independent of ``panic_on_warn``, the ``kasan.fault=`` boot
|
||||||
|
parameter can be used to control panic and reporting behaviour:
|
||||||
|
|
||||||
|
- ``kasan.fault=report`` or ``=panic`` controls whether to only print a KASAN
|
||||||
|
report or also panic the kernel (default: ``report``). The panic happens even
|
||||||
|
if ``kasan_multi_shot`` is enabled.
|
||||||
|
|
||||||
|
Hardware Tag-Based KASAN mode (see the section about various modes below) is
|
||||||
|
intended for use in production as a security mitigation. Therefore, it supports
|
||||||
|
additional boot parameters that allow disabling KASAN or controlling features:
|
||||||
|
|
||||||
|
- ``kasan=off`` or ``=on`` controls whether KASAN is enabled (default: ``on``).
|
||||||
|
|
||||||
|
- ``kasan.mode=sync``, ``=async`` or ``=asymm`` controls whether KASAN
|
||||||
|
is configured in synchronous, asynchronous or asymmetric mode of
|
||||||
|
execution (default: ``sync``).
|
||||||
|
Synchronous mode: a bad access is detected immediately when a tag
|
||||||
|
check fault occurs.
|
||||||
|
Asynchronous mode: a bad access detection is delayed. When a tag check
|
||||||
|
fault occurs, the information is stored in hardware (in the TFSR_EL1
|
||||||
|
register for arm64). The kernel periodically checks the hardware and
|
||||||
|
only reports tag faults during these checks.
|
||||||
|
Asymmetric mode: a bad access is detected synchronously on reads and
|
||||||
|
asynchronously on writes.
|
||||||
|
|
||||||
|
- ``kasan.vmalloc=off`` or ``=on`` disables or enables tagging of vmalloc
|
||||||
|
allocations (default: ``on``).
|
||||||
|
|
||||||
|
- ``kasan.stacktrace=off`` or ``=on`` disables or enables alloc and free stack
|
||||||
|
traces collection (default: ``on``).
|
||||||
|
|
||||||
Error reports
|
Error reports
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -208,47 +249,6 @@ traces point to places in code that interacted with the object but that are not
|
||||||
directly present in the bad access stack trace. Currently, this includes
|
directly present in the bad access stack trace. Currently, this includes
|
||||||
call_rcu() and workqueue queuing.
|
call_rcu() and workqueue queuing.
|
||||||
|
|
||||||
Boot parameters
|
|
||||||
~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
KASAN is affected by the generic ``panic_on_warn`` command line parameter.
|
|
||||||
When it is enabled, KASAN panics the kernel after printing a bug report.
|
|
||||||
|
|
||||||
By default, KASAN prints a bug report only for the first invalid memory access.
|
|
||||||
With ``kasan_multi_shot``, KASAN prints a report on every invalid access. This
|
|
||||||
effectively disables ``panic_on_warn`` for KASAN reports.
|
|
||||||
|
|
||||||
Alternatively, independent of ``panic_on_warn``, the ``kasan.fault=`` boot
|
|
||||||
parameter can be used to control panic and reporting behaviour:
|
|
||||||
|
|
||||||
- ``kasan.fault=report`` or ``=panic`` controls whether to only print a KASAN
|
|
||||||
report or also panic the kernel (default: ``report``). The panic happens even
|
|
||||||
if ``kasan_multi_shot`` is enabled.
|
|
||||||
|
|
||||||
Hardware Tag-Based KASAN mode (see the section about various modes below) is
|
|
||||||
intended for use in production as a security mitigation. Therefore, it supports
|
|
||||||
additional boot parameters that allow disabling KASAN or controlling features:
|
|
||||||
|
|
||||||
- ``kasan=off`` or ``=on`` controls whether KASAN is enabled (default: ``on``).
|
|
||||||
|
|
||||||
- ``kasan.mode=sync``, ``=async`` or ``=asymm`` controls whether KASAN
|
|
||||||
is configured in synchronous, asynchronous or asymmetric mode of
|
|
||||||
execution (default: ``sync``).
|
|
||||||
Synchronous mode: a bad access is detected immediately when a tag
|
|
||||||
check fault occurs.
|
|
||||||
Asynchronous mode: a bad access detection is delayed. When a tag check
|
|
||||||
fault occurs, the information is stored in hardware (in the TFSR_EL1
|
|
||||||
register for arm64). The kernel periodically checks the hardware and
|
|
||||||
only reports tag faults during these checks.
|
|
||||||
Asymmetric mode: a bad access is detected synchronously on reads and
|
|
||||||
asynchronously on writes.
|
|
||||||
|
|
||||||
- ``kasan.vmalloc=off`` or ``=on`` disables or enables tagging of vmalloc
|
|
||||||
allocations (default: ``on``).
|
|
||||||
|
|
||||||
- ``kasan.stacktrace=off`` or ``=on`` disables or enables alloc and free stack
|
|
||||||
traces collection (default: ``on``).
|
|
||||||
|
|
||||||
Implementation details
|
Implementation details
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue