/blog/3-my-exp-lkmp

#3 My Experience with Linux Kernel Bug Fixing Program

The LKMP is a mentorship program that aims to train new contributors to the Linux Kernel. This program is offered by the Linux Foundation and is mentored by an expert on the subject, usually a well-known maintainer in the community. In my case, the mentor was Shuah Khan, the first female kernel developer to become Linux Foundation fellow. We had weekly meetings on Wednesdays, and in these meetings Shuah answered the mentees' questions and give us tips on where we could make contributions. It was a very cool experience. Shuah is a very kind and helpful person, and getting to know people in the community has been a great experience. More details about the program and how to participate can be found on the official LKMP wiki.

My contributions

In the beginning, my experience with contributions was a bit difficult. We were advised to look for bugs in Syzkaller and choose a favorite subsystem to contribute to. For me, the biggest difficulties were balancing everything with my job and reproducing the bugs in the kernel I had compiled. In the end, I decided to try a different approach: instead of fixing bugs, I looked for new things to contribute.

During one of the meetings, Shuah sent a link to the issues on the Rust-for-Linux project, and that's where I had the most fun. The maintainers are super friendly, and there's a lot to do, which makes it the perfect start for anyone beginning to contribute.

I would like to give a special thanks to Benno Lossin and Danilo Krummrich, who followed the entire evolution of my series of three patches until it reached version 8, Thanks, guys! And a big thank you to the entire Rust-for-Linux project team who interacted with me, including Alice Ryhl and Miguel Ojeda. Thank you very much! In addition to these three patches, I also made two others that involve a modernization in the Linux Kernel to replace strncpy, which was also one of Shuah's tips during our meetings.

Rust-for-linux

Replace strncpy()

My Advice

  • Get involved with the community, don't be afraid to ask questions or answer them.
  • Don't worry about making huge contributions, every single change counts.
  • Don't be afraid of maintainer reviews, some can be very direct, but always take them as a learning experience.
  • Have fun! contribute because you want to, not because it's a task on the board.

Licensed under CC BY-NC-SA 4.0