User Tools

Site Tools


Linux Kernel Mentorship Program Required Contributions

The required contributions are designed to enhance the mentorship experience by participating in the kernel release process. Please note that quality of patches is what will add value, not the quantity. If one candidate has 10 white-space patches, and another has fewer more substantial patches, substantial work carries more weight.

Updates in progress for Spring program - Applications open on Oct 28th 2019. Wait for this page to be updated and stay tuned for announcements on the IRC channel.

Participate in Stable release process

Participating in the kernel release process will help understand how it works and how fixes flow from the mainline kernel into stable releases.


What do you do when kernel doesn't boot or kernel is crashing or driver isn't working the way it should? It is time to debug the kernel. This is intended to be a self study on learning to hunt bugs, bisecting a bug, learn about debug configuration options in the kernel config file, and how to use Dynamic debugging. Another great resource for looking at the history of changes made to source files is Contributors to the Linux Kernel. Please refer to Who Made That Change and When: Using Cregit for Debugging.

Find 2 to 3 Syzbot null pointer deference and WARN bug reports which include reproducer to analyze. As an example this report [upstream] WARNING in dma_buf_vunmap includes reproducers.

  • Run the reproducer to see if you can reproduce the problem.
  • Look at the crash report and walk through sources for a possible cause.
  • Write-up a short report for each of the bugs you analyzed and share them with Shuah Khan and linux-kernel-mentees mailing list.

Documentation tasks (Optional)

Convert two .txt files to ReST format. You will find the tasks listed in Linux Kernel Task List

Kernel Tasks (Optional)

Pick two kernel tasks from the Linux Kernel Task List and send patches to fix the issues.

Staging tree coding style cleanups (Learning task practice patch process)

The staging tree is a good place to start to learn the kernel development process and getting your patches into the mainline. Pick a staging area driver and run on a file. Fix coding style problems if any.

Static code analysis error fixing (Learning task practice patch process)

Static code analysis is the process of detecting errors and flaws in the source code. The Linux kernel Makefile can be invoked with options to enable to run the Sparse source code checker on all source file or only the re-compiled files. Compile kernel with source code checker enabled and find errors and fix as needed.

lkmp/lkmp_required_contributions.txt · Last modified: 2021/01/20 17:55 by ShuahKhanLF