Kernels Love Kernel Injection (KLOKI)
![](/~harwe006/project/kloki/featured_hu3140d4d0f8a95da6d4b65889ae377705_13838_720x2500_fit_q75_h2_lanczos_3.webp)
Overview
I worked as an intern at Cray, Inc. Summer 2017, doing work on the DataWarp project. Of all the kernel modules I created, this one was the most interesting, as it allowed you inject faults into a live running kernel from the command line, with only a single compile-time macro statement placed at the start of every function you want to be able to inject one or more faults into. Not just trivial faults either (i.e. returning a bad value), but delays, probabilistic injections, and more.
![Datawarp architecture.](/~harwe006/media/kloki-datawarp_hu22703d210698c2386bca2e6701e1f5b7_112953_56a5ee4a92d9d92540379b5b94e66675.webp)