Hi Greg,
Thank you for the feedback and the guidance.
You're absolutely right. I am new to kernel development, and in my attempt to satisfy an old FIXME, I created a clunkier API and added unnecessary complexity. The original implementation is much cleaner and more efficient than the change I proposed.
I am withdrawing this patch. I'm sorry for the noise, and I appreciate you taking the time to lead me in the right direction. I'll focus on finding more meaningful improvements where the logic is sound.
Best regards, Jose