My Linux Kernel Mentorship Program (LKMP) experience
The Linux Kernel Mentorship Program is a Linux Foundation mentorship which eases the process of getting started in Linux Kernel development. You can find all the details about it in the official documentation 1.
This program offers resources, mentoring and access to like-minded newbies who are making their first contributions to the Linux Kernel. Fellow mentees are there to support you, recommend tools and review your patches. Note that this is very important. Getting used to the Linux Kernel development flow isn’t that easy, and it’s very common to get things wrong such as:
- Keeping a tidy changelog across patch versions to help reviewers
- Following appropriate format in the commit message and title
- Adding proper CCs to your patch
Having people around that help you solve these small issues is great. For example, many mentees suggest using tools such as b42 or kworkflow.
You can find other mentees’ posts here.
How did I learn about the mentorship?
I had been subscribed to the Linux’s RISC-V mailing list3 for a while. At some point I came across a patch from Javier Carrasco. I thought: a Spanish guy! and googled him until I reached his blog post about this mentorship. After thinking about it for a while, I decided to try my luck and apply to the mentorship.
Note that I had been a Linux user for many years but I hadn’t compiled the kernel ever before. I didn’t have experience with kernel development either. My familiarity with the codebase came from reading the RISC-V mailing list and from studying the kernel’s synchronization primitives (mutexes, memory barriers, …).
My contributions
My main interests during the mentorship were RISC-V and KCSAN reports. I’m a Verification Engineer for RISC-V CPUs at the time of writing, and a concurrency/memory consistency nerd.
I was lucky enough to stumble upon Lorenzo Stoakes and learn about his great book The Linux Memory Manager.
RISC-V people are very nice and there is a lot of work to do. The architecture is still very young and you’ll get plenty of opportunities to contribute!
KCSAN syzbot reports
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2e9765672332
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fbc0283fbeae
Documentation
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e3f42c436d7e
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b37221cc861d
RISC-V
In-flight contributions
I also have a couple of contributions that are in flight.
- https://lore.kernel.org/linux-riscv/20250411-riscv-dont-hang-on-noncanonical-paddr-v1-1-dc665a46246d@iencinas.com/
- https://lore.kernel.org/linux-riscv/20250426-riscv-swab-v4-0-64201404a68c@iencinas.com/
Advice to potential applicants
I strongly encourage anyone that is considering applying to do so. If you believe in open source and enjoy programming and challenges, contributing to the Linux Kernel is an amazing experience. You’ll get to work with gifted engineers which is an incredible opportunity if you think about it.
If you are not sure if you’re capable enough to go through the mentorship, let me say: if I had to guess, you probably are. If you are are familiar with git, C and reading assembly code, you don’t need anything else. Even if you are not, with enough dedication and effort, you can be successful. The application process will let you know for sure if you’re a good fit for the mentorship, give it a try!
A few tips:
- Don’t expect to make crucial contributions if you’re new to kernel development. Every bit helps, begin with small and easy tasks. It’s ok to do so!
- Don’t be scared of criticism and reviews. If you pay attention and work meticulously, you’ll be fine!
- Read other people’s patches and reviews: you’ll learn a lot.
- Make an effort to follow common practice: be polite, don’t top-post, write proper commit messages, …
FAQ
- Can I go through the mentorship while studying at university?
Yes you can. You’ll need to have a good background but if you’re organize yourself properly, it’s possible. Note that you can also join the mentorship as a part-time mentee, which will make things easier for you.
- Can I go through the mentorship while working full time?
Same as above. Additionally, I can “certify” this as I was working full time while being a mentee.
- Am I really good enough for this?
Yes. The hard part of this mentorship is being motivated and dedicated. If you can go through the application process, you’re fine from the technical standpoint.
-
See https://subspace.kernel.org/ for more information. ↩︎