LLVM santizers and GDB regression test suite
As NetBSD-9 is branched, I have been asked to finish the LLVM sanitizer integration. This work is now accomplished and with MKLLVM=yes build option (by default off), the distribution will be populated with LLVM files for ASan, TSan, MSan, UBSan, libFuzzer, SafeStack and XRay.
I have also transplanted basesystem GDB patched to my GDB repository and managed to run the GDB regression test-suite.
I have enhanced and imported my local MKSANITIZER code that makes whole distribution sanitization possible. Few real bugs were fixed and a number of patches were newly written to reflect the current NetBSD sources state. I have also merged another chunk of the fruits of the GSoC-2018 project with fuzzing the userland (by plusun@).
The following changes were committed to the sources:
Almost all of the mentioned commits were backported to NetBSD-9 and will land 9.0.
As a demo, I have crafted a writing on combining RUMPKERNEL, MKSANITIZER with the honggfuzz fuzzer: Rumpkernel assisted fuzzing of the NetBSD file system kernel code in userland.
[...] Test run by kamil on Mon Sep 2 12:36:03 2019 Native configuration is x86_64-unknown-netbsd9.99 === gdb tests === Schedule of variations: unix [...] === gdb Summary === # of expected passes 54591 # of unexpected failures 3267 # of expected failures 35 # of unknown successes 3 # of known failures 59 # of unresolved testcases 29 # of untested testcases 141 # of unsupported tests 399
Full log is here.
This means that there are a lot of more tests and known failures than in 2017-09-05:
$ uname -a NetBSD chieftec 8.99.2 NetBSD 8.99.2 (GENERIC) #0: Sat Sep 2 22:55:29 CEST 2017 root@chieftec:/public/netbsd-root/sys/arch/amd64/compile/GENERIC amd64 Test run by kamil on Tue Sep 5 17:06:28 2017 Native configuration is x86_64--netbsd === gdb tests === Schedule of variations: unix [...] === gdb Summary === # of expected passes 16453 # of unexpected failures 483 # of expected failures 9 # of known failures 28 # of unresolved testcases 17 # of untested testcases 41 # of unsupported tests 25
There are actually some regressions and a set of tests that fails probably due to environment differences like lack of gfortran at hand.
Full log is here
The Google Summer of Code programme reached the end. My mentees wrote successfully their final reports:
I'm also mentoring the AFL+KCOV work by Maciej Grochowski. Maciej will visit EuroBSDCon-2019 and speak about his work.
I've reached out to the people from standards bodies and I'm working on defining the standard approach for setting and getting the thread name. I have received a proper ID of my proposal and I'm now supposted to submit the text in either PDF or HTML format.
This change will allow to manage the thread name with an uniform interface on all comforming Operating Systems.
Keep enhancing GDB support. Keep detecting ptrace(2) bugs and addressing them.
The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL to chip in what you can: