Messages in this thread | | | Date | Sat, 19 Sep 2015 17:10:06 +0200 | From | Oleg Nesterov <> | Subject | Re: can't oom-kill zap the victim's memory? |
| |
(off-topic)
On 09/19, Oleg Nesterov wrote: > > @@ -570,8 +590,8 @@ void oom_kill_process(struct task_struct *p, gfp_t gfp_mask, int order, > victim = p; > } > > - /* mm cannot safely be dereferenced after task_unlock(victim) */ > mm = victim->mm; > + atomic_inc(&mm->mm_count);
Btw, I think we need this change anyway. This is pure theoretical, but otherwise this task can exit and free its mm_struct right after task_unlock(), then this mm_struct can be reallocated and used by another task, so we can't trust the "p->mm == mm" check below.
Oleg.
| |