Messages in this thread | | | Date | Wed, 11 Nov 2009 14:51:08 +0900 | Subject | Re: [PATCH 6/6] mm: sigbus instead of abusing oom | From | Minchan Kim <> |
| |
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
| |