diff --git a/mm/memory-failure.c b/mm/memory-failure.c index e659a7ef5acf..6b1556b4972e 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -705,8 +705,10 @@ static int kill_accessing_process(struct task_struct *p, unsigned long pfn, (void *)&priv); if (ret == 1 && priv.tk.addr) kill_proc(&priv.tk, pfn, flags); + else + ret = 0; mmap_read_unlock(p->mm); - return ret ? -EFAULT : -EHWPOISON; + return ret > 0 ? -EHWPOISON : -EFAULT; } static const char *action_name[] = {