diff --git a/website/content/en/status/report-2023-01-2023-03/aarch64-kasan.adoc b/website/content/en/status/report-2023-01-2023-03/aarch64-kasan.adoc new file mode 100644 index 0000000000..067d67195e --- /dev/null +++ b/website/content/en/status/report-2023-01-2023-03/aarch64-kasan.adoc @@ -0,0 +1,23 @@ +=== Kernel Address Sanitizer on AArch64 + +Contact: Kyle Evans + +Sanitizers are bug detection facilities which use a combination of instrumentation inserted by the compiler (LLVM in this case) and runtime state tracking to detect bugs in C code. +They can automatically detect many types of C programming bugs, such as use-after-frees and uses of uninitialized variables, which may otherwise require substantial effort to identify. +They are particularly effective in combination with regression testing suites or fuzzing tools such as link:https://github.com/google/syzkaller[syzkaller]. +Unlike tools such as Valgrind, software must be recompiled to enable a given sanitizer, but sanitizers can be used in the kernel. +Kernels with sanitizers enabled incur a significant performance overhead from the runtime, in both CPU utilization and memory usage. + +As of gitref:89c52f9d59fa[repository=src], the kernel address sanitizer that was previously exclusive to amd64 has now been ported to arm64. + +Prior testing has been done on a decent variety of machines, including: + +- Various Ampere Altra machines +- QEMU +- Microsoft's "Volterra" Devkit +- BHyve (WIP) + +Further testing on other hardware would be both welcomed and appreciated. + +Sponsor: Juniper Networks, Inc. + +Sponsor: Klara, Inc.