From: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Current __do_fault() is awful and unmaintainable. These patches try to sort it out by split __do_fault() into three destinct codepaths: - to handle read page fault; - to handle write page fault to private mappings; - to handle write page fault to shared mappings; I also found page refcount leak in PageHWPoison() path of __do_fault(). Kirill A. Shutemov (8): mm, hwpoison: release page on PageHWPoison() in __do_fault() mm: rename __do_fault() -> do_fault() mm: do_fault(): extract to call vm_ops->do_fault() to separate function mm: introduce do_read_fault() mm: introduce do_cow_fault() mm: introduce do_shared_fault() and drop do_fault() mm: consolidate code to call vm_ops->page_mkwrite() mm: consolidate code to setup pte mm/memory.c | 394 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 194 insertions(+), 200 deletions(-) -- 1.8.5.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>