diff --git a/src/userprog/exception.c b/src/userprog/exception.c index 1fcbe61..2e812ec 100644 --- a/src/userprog/exception.c +++ b/src/userprog/exception.c @@ -148,17 +148,18 @@ page_fault (struct intr_frame *f) if (user && not_present) { - if (try_alloc_new_page (fault_addr, f->esp)) + if (try_alloc_new_page (fault_addr, f->esp)) return; } else { if (try_alloc_new_page (fault_addr, thread_current ()->curr_esp)) return; - f->eip = (void *)f->eax; + + f->eip = (void *)f->eax; f->eax = 0xffffffff; return; - } + } /* To implement virtual memory, delete the rest of the function body, and replace it with code that brings in the page to