DEV Community

Cover image for My Linux Kernel Mentorship experience
Siddarth
Siddarth

Posted on

My Linux Kernel Mentorship experience

I always loved tweaking around with my computer—trying various Linux distros and window managers. Contributing to the Linux kernel had always been on my bucket list.

I first heard about the LFX Mentorship Program at KubeDay India, and the idea of Linux kernel bug fixing immediately caught my eye.

I applied last year but didn’t get in. Fast forward to this year, and when I received the acceptance email, I was literally yelling! It was an unforgettable moment.

My experience from last year in setting up the kernel build environment helped me finish my tasks a bit quicker this time. It felt like those earlier efforts weren't wasted.

Mentorship and Community

The program began in March 2025. The initial days involved a lot of learning—diving into videos, blogs, and experiencing a little bit of panic that I hadn't submitted any patches yet.

Office hours to the rescue! Our mentor, Shuah, taught us a lot about the kernel ecosystem, cscope, Git tips, and how to interpret syzkaller reports. This was incredibly helpful.

Being able to talk with fellow mentees and share our learnings in the discord server made a huge difference.

The greatest part of the Linux community is its vast amount of resources. You truly learn a lot from studying other people’s patches. The kernel mailing list archives (lore) became my bread and butter. Over three months, I went through countless patches from many contributors, which taught me a ton.

A shout out to Nathan Chancellor and Kuan-Wei Chiu for answering all my questions and for guidance.

Key Learnings

Over these 12 weeks, I experimented with various tools and learned many aspects of the kernel. I submitted 13 patches, experiencing both successes and rejections.

  • Mindset: When my first patch was merged, I hesitated to send similar fixes because I was afraid of harsh feedback. Ironically, those same changes were later sent in by others— were accepted. This experience changed my mindset and I no longer fear making mistakes. Every patch has been a learning experience.

I once sent a patch to the wrong maintainer (thanks, Zsh autocomplete). After making a silly mistake like that, I guess there's no more room to be afraid! :)

  • Writing Good Patches: Reading the documentation for the subsystem you’re working on is so important. Always check how patches for that subsystem are being sent in the archives.

  • Avoiding Churn: Avoid sending patches that adds unnecessary noise. When working on a bug it's important to understand where a particular error is coming from and how your fix solves it, and most importantly to test thoroughly!

While my mentorship comes to an end, I still have a lot of things to do and hope to make some significant contributions!

Top comments (0)