Brussels / 1 & 2 February 2020


Linux Kernel Library

A Library Version of Linux Kernel

LKL (Linux Kernel Library) is aiming to allow reusing the Linux kernel code as extensively as possible with minimal effort and reduced maintenance overhead. It allows us to link the library with any programs (which wish to call as a function call) containing Linux kernel code. There are many use cases: reading/writing files without general system calls, putting experimental protocol implementation without neither of host kernel update nor kernel module installation, using customized kernel in container instance, building a unikernel based on existing rumprun framework, or testing/fuzzing kernel implementation in userspace execution, etc.

In this talk, we are going to present

  • why/how/when we started this project,
  • share the outcomes using LKL
  • fuzzing test with Linux filesystem
  • out of tree network protocols on Android
  • lkl.js
  • macOS port
  • docker integration
  • future directions including upstreaming to Linux kernel


Hajime Tazaki