History log of /freebsd/share/man/man9/kasan.9 (Results 1 – 9 of 9)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/14.0.0
# ba719a0f 25-Sep-2023 Tom Hukins <tom@FreeBSD.org>

Fix "version introduced" in numerous manual pages

MFC after: 1 week
Pull request: https://github.com/freebsd/freebsd-src/pull/853


# 2df97575 13-Oct-2023 Zhenlei Huang <zlei@FreeBSD.org>

kasan.9: Mention the loader tunable 'debug.kasan.disable'

Reviewed by: markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D42165


# fa9896e0 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line nroff pattern

Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/


Revision tags: release/13.2.0
# 40924005 24-Mar-2023 Mark Johnston <markj@FreeBSD.org>

kasan.9: Update to note arm64 support


Revision tags: release/12.4.0, release/13.1.0, release/12.3.0
# ce260994 10-Aug-2021 Mark Johnston <markj@FreeBSD.org>

kmsan: Add a manual page

Sponsored by: The FreeBSD Foundation


# e0cc5660 06-Aug-2021 Mark Johnston <markj@FreeBSD.org>

kasan.9: Note the header required for kasan_mark()

Sponsored by: The FreeBSD Foundation


# 93d8b4da 23-Jul-2021 Mark Johnston <markj@FreeBSD.org>

kasan.9: Fix formatting in the synopsis

Sponsored by: The FreeBSD Foundation


# 420d30f5 29-Apr-2021 Mark Johnston <markj@FreeBSD.org>

kasan.9: A couple of fixups

- Mention GENERIC-KASAN.
- Note that the runtime was ported from NetBSD.

Sponsored by: The FreeBSD Foundation


# 38da497a 13-Apr-2021 Mark Johnston <markj@FreeBSD.org>

Add the KASAN runtime

KASAN enables the use of LLVM's AddressSanitizer in the kernel. This
feature makes use of compiler instrumentation to validate memory
accesses in the kernel and detect several

Add the KASAN runtime

KASAN enables the use of LLVM's AddressSanitizer in the kernel. This
feature makes use of compiler instrumentation to validate memory
accesses in the kernel and detect several types of bugs, including
use-after-frees and out-of-bounds accesses. It is particularly
effective when combined with test suites or syzkaller. KASAN has high
CPU and memory usage overhead and so is not suited for production
environments.

The runtime and pmap maintain a shadow of the kernel map to store
information about the validity of memory mapped at a given kernel
address.

The runtime implements a number of functions defined by the compiler
ABI. These are prefixed by __asan. The compiler emits calls to
__asan_load*() and __asan_store*() around memory accesses, and the
runtime consults the shadow map to determine whether a given access is
valid.

kasan_mark() is called by various kernel allocators to update state in
the shadow map. Updates to those allocators will come in subsequent
commits.

The runtime also defines various interceptors. Some low-level routines
are implemented in assembly and are thus not amenable to compiler
instrumentation. To handle this, the runtime implements these routines
on behalf of the rest of the kernel. The sanitizer implementation
validates memory accesses manually before handing off to the real
implementation.

The sanitizer in a KASAN-configured kernel can be disabled by setting
the loader tunable debug.kasan.disable=1.

Obtained from: NetBSD
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29416

show more ...