Removes unnecessary prot check
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 15 Jun 2015 15:52:45 +0000 (11:52 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 18 Jun 2015 19:17:14 +0000 (15:17 -0400)
We check the prot against the VMR's prot later, and will return with -EPERM if
there was a problem.  This popped up as an issue since the EPT can have
multiple fault types at the same time within the prot field.

Of course, we may still have issues with EPT having prot fields that don't jive
with the VMR, so be on the lookout for EPERMs.

kern/src/mm.c

index 78f30f7..ca91e63 100644 (file)
@@ -927,10 +927,6 @@ int handle_page_fault(struct proc *p, uintptr_t va, int prot)
        bool first = TRUE;
        va = ROUNDDOWN(va,PGSIZE);
 
-       if (prot != PROT_READ && prot != PROT_WRITE && prot != PROT_EXEC) {
-               panic("Bad prot: va %p, prot 0x%x: not one of %x, %x, or %x\n",
-                     va, prot, PROT_READ, PROT_WRITE, PROT_EXEC);
-       }
 refault:
        /* read access to the VMRs TODO: RCU */
        spin_lock(&p->vmr_lock);