ret = vma->vm_ops->fault(vma, &vmf);++ /* page may be available, but we have to restart the process+ * because mmap_sem was dropped during the ->fault+ */+ if (ret & VM_FAULT_RETRY)+ return ret;+ if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE))) return ret;