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 ...
|