[[!template id=project

title="Kernel Undefined Behavior SANitizer"

contact="""
[tech-kern](mailto:tech-kern@NetBSD.org)
"""

mentors="""
[Kamil Rytarowski](mailto:kamil@NetBSD.org)
"""

category="analyzers"
difficulty="medium"
duration="3 months"
done_by="Kamil Rytarowski"

description="""

Port LLVM and GCC kernel UBSan pieces to the NetBSD/amd64 kernel.
Integrate the support with the toolchain inside src/.
Add support for a new kernel option (and perhaps configuration) KUBSAN.

The toolchain support on the LLVM side is done. GCC should work too.

Milestones:

* Build manually the NetBSD kernel against UBSan. Port the needed code from Linux (don't violate the license).
* Ensure that we don't violate the license - either ask for relicense or reimplement the needed code. There is little code for KUBSan.
* Integrate KUBSan with the kernel configuration.
* Execute the kernel, attempt to boot to shell.
* Run ATF tests against the kernel.
* Report bugs.

"""
]]

[[!tag gsoc]]