The existing comment is misleading: 1. "steal a active VM" suggests this code performs the active_mm borrowing, but the actual borrowing happens in context_switch() where 'next->active_mm = prev->active_mm' is assigned. This code simply returns 0 to skip mm copying for kernel threads. 2. "active VM" is outdated terminology, the kernel uses "active_mm". Update the comment to accurately describe what this code does. Signed-off-by: Minu Jin --- kernel/fork.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/fork.c b/kernel/fork.c index b1f3915d5f8e..4bfd606004db 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1566,9 +1566,10 @@ static int copy_mm(u64 clone_flags, struct task_struct *tsk) tsk->active_mm = NULL; /* - * Are we cloning a kernel thread? + * Kernel threads have no 'mm' of their own as they borrow the + * 'active_mm' from the previous process at context_switch(). * - * We need to steal a active VM for that.. + * Return 0 directly to skip the copy_mm process. */ oldmm = current->mm; if (!oldmm) -- 2.43.0