Hi all,
Here’s my talk proposal for the April 2026 meetup.
Preferred Format: 25+5 mins
Abstract:
During a discussion on one of my patches, a maintainer pointed out that a certain netdev operation (NDO), set_rx_mode, was broken. This operation configures RX mode registers, i.e., the hardware responsible for selecting the sources to reject/accept RX from (at L2 level). Discussion link:
https://lore.kernel.org/netdev/20250923163...@kernel.org/The issue was that dev_set_rx_mode (the core function) invoked this callback under a spinlock, even though the operation involves I/O that may sleep. This is bad as I/O should be allowed to sleep. I decided to take a jab at this problem and learnt quite a bit about the networking stack and kernel design patterns in general.
This talk will be about the things I learnt about the networking stack, my solution and where I went wrong.
Outline:
- Exposition on networking's version of the core/driver model and callback registration
- Relevant workqueue concepts and execution contexts
- Control-path synchronization in the networking stack
- The problem, my proposed solution, and challenges I faced
- What I got wrong and lessons learned
Speaker:
I am a Linux kernel enthusiast primarily focusing on networking. I was part of the Fall 2025 Linux Kernel Mentorship Program and contributed three bug-fix patches to the networking subsystem as part of the program.