Port ASan to NetBSD
I will port ASan (a memory debugging tool for LLVM+Clang) to NetBSD so that it can be used to find memory-related bugs (use after free, buffer overflows) in the userland and kernel.
LLVM+Clang has a memory debugging tool built into the compiler infrastructure called ASan. Instead of using run-time emulation as Valgrind does, ASan actually generates memory debugging code as the software is being compiled. With this technique, there is only a slowdown of about 1.5-2x compared to Valgrind which can have a slowdown of about 10-20x. This makes it very usable for memory debugging of the NetBSD kernel. In addition to the normal heap-memory debugging that you get with Valgrind, ASan can also find stack buffer overrun/underrun bugs.
- Port ASan so that it functions properly on NetBSD.
- Remove the need for dynamic linking in ASan so that it can be used for detection of kernel memory bugs.
- Add support for kernel memory allocators and functions accessing kernel memory.
|File name||Size||Date submitted|
|steve-gsoc-asan.tar.gz||41.5 KB||September 06 2012 16:54 UTC|