Author: Kamil Rytarowski
Date: September 22th 2018
Place: Bucharest, Romania
Kamil Rytarowski (born 1987)
NetBSD user since 6.1.
The NetBSD Foundation member since 2015.
Work areas: kernel, userland, pkgsrc.
Interest: NetBSD on desktop and in particular NetBSD as a workstation.
The current activity in 3rd party software:
Sanitizer is a programming tool that detects computer program bugs such as:
The fundamental four sanitizers are supported on NetBSD:
Build and use almost all of the userland with a selected sanitizer.
1 ./build.sh \ 2 -V MKLLVM=yes \ 3 -V MKGCC=no \ 4 -V HAVE_LLVM=yes \ 5 -V MKSANITIZER=yes \ 6 -V USE_SANITIZER="address,undefined" \ 7 distribution
Unsanitized exceptions: kernel, loadable kernel modules, ramdisks, static libraries, static programs, base libraries (libc, libm, libpthread, librt).
Functional chroot environment: ASan, UBSan, MSan.
Bootable distribution into functional shell: ASan, UBSan.
As of now requires external and patched Clang/LLVM toolchain.
Build and use almost all of the userland with a selected sanitizer linked with libc.
1 ./build.sh \ 2 -V MKLIBCSANITIZER=yes \ 3 distribution
Unsanitized exceptions: ramdisks, static libraries, static programs.
Restricted to UBSan with a specialized homegrown runtime (µUBSan).
ASan: sh(1), sysinst(8), heimdal krb5, libutil(3), man(1), installboot(8), passwd(8), ...
UBSan: tmux(1), expr(1), ksh(1), ifconfig(8), libc, [gnu]grep(1), gzip(1), [n]awk(1), [n]vi(1), disklabel(8), ...
MSan: sh(1), top(1), ...
... and others that were forgotten to mention.