On Wed 22-11-23 16:11:54, Gregory Price wrote: [...] > + > + /* > + * Behavior when task == current allows a task modifying itself > + * to bypass the check in get_task_mm and acquire the mm directly > + */ > + if (task == current) { > + mm = task->mm; > + mmget(mm); > + } else > + mm = get_task_mm(task); Similar question as in the previous patch. When is a kthread legit to do manipulate borrowed mm memory policy? > + > + if (!mm) > + return -ENODEV; Is this an expected error? No mm means task dying and mm has been already released. Should we simply return ESRCH wouldbe a better error code IMO. This should never happen for the current task so it sould be safe to add. -- Michal Hocko SUSE Labs