mm: introduce do_shared_fault() and drop do_fault()