EuroBSDCon 2018 and NetBSD sanitizers

I have presented the state of NetBSD sanitizers during EuroBSDCon 2018 held in Bucharest, Romania.

I was a speaker for two talks, one covered userland sanitizers and the other one kernel sanitizers. Unfortunately video recordings from the conference are not available. However, I've uploaded my slides online:

Besides the confrence participation and preparations for the travel and talks I've been researching libunwind port to NetBSD and further integration of Lua. The libunwind port from the nongnu project has been approached to passing 22 tests out of 33 and the current blocker is the lack of signal trampoline handling or annotation. Signal trampoline is a special libc function, registed into the kernel, that is used as a helper routine to install and use signal handlers. Backtracing the stack of function calls is not so trivial as we need either to annotate with DWARF notes the assembly code in the trampoline or handle it differently inside an unwinder.

I wrote a toy application using newly created Lua binding for the curses(3) library. The process of writing the Lua bindings resulted in detecting various bugs in the native curses library. A majority of the bugs have been already fixed with aid of Roy Marples and Rin Okuyama and there are still waiting for merge. I intend to keep going with the bindings in my spare time, a shortcoming is that there are a lot of API functions (over 300!) and covering them all is time consuming process.

Meanwhile, I've been in progress of upstreaming of local LLVM patches. I've finally upstreamed to switch of indirect syscall (syscall(2)/__syscall(2)) to direct libc calls.

Plan for the next milestone

I will visit the GSoC Mentor Summit & MeetBSDCa in October (California, the U.S.). In the time besides the conference I will keep upstreaming local LLVM patches (almost 3000LOC to go!).

This work was sponsored by The NetBSD Foundation.

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, and chip in what you can:

http://netbsd.org/donations/#how-to-donate