On Fri, Sep 26, 2025 at 12:14:21PM +0100, Catalin Marinas wrote:
On Thu, Sep 25, 2025 at 08:00:40PM +0100, Mark Brown wrote:
Yeah, just I need to convince myself that we're always running the exit_mm() path in the context of the exiting thread. Like you say it needs checking but hopefully you're right and the current code is more correct than I had thought.
The only path to gcs_free() is via mm_release() -> deactivate_mm(). mm_release() is called from either exit_mm_release() or exec_mm_release(). These two functions are only called with current and current->mm.
I guess for historical reasons, they take task and mm parameters but in recent mainline, they don't seem to get anything other than current.
Thanks for checking for me. I guess some refactoring might be in order to make all this clear.