Re: [PATCH 6/6] mm: sigbus instead of abusing oom

Minchan Kim
2009-11-11T05:51:05Z

On Wed, Nov 11, 2009 at 7:06 AM, Hugh Dickins
<hugh.dickins@tiscali.co.uk> wrote:
> When do_nonlinear_fault() realizes that the page table must have been
> corrupted for it to have been called, it does print_bad_pte() and
> returns ... VM_FAULT_OOM, which is hard to understand.
>
> It made some sense when I did it for 2.6.15, when do_page_fault()
> just killed the current process; but nowadays it lets the OOM killer
> decide who to kill - so page table corruption in one process would
> be liable to kill another.
>
> Change it to return VM_FAULT_SIGBUS instead: that doesn't guarantee
> that the process will be killed, but is good enough for such a rare
> abnormality, accompanied as it is by the "BUG: Bad page map" message.
>
> And recent HWPOISON work has copied that code into do_swap_page(),
> when it finds an impossible swap entry: fix that to VM_FAULT_SIGBUS too.
>
> Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
I already agreed this. :)
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>

--
Kind regards,
Minchan Kim