Merge branch 'tip/x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into x86/mm
This commit is contained in:
commit
c9e1585b1b
|
@ -645,6 +645,7 @@ static noinline int spurious_fault(unsigned long error_code,
|
||||||
pud_t *pud;
|
pud_t *pud;
|
||||||
pmd_t *pmd;
|
pmd_t *pmd;
|
||||||
pte_t *pte;
|
pte_t *pte;
|
||||||
|
int ret;
|
||||||
|
|
||||||
/* Reserved-bit violation or user access to kernel space? */
|
/* Reserved-bit violation or user access to kernel space? */
|
||||||
if (error_code & (PF_USER | PF_RSVD))
|
if (error_code & (PF_USER | PF_RSVD))
|
||||||
|
@ -672,7 +673,17 @@ static noinline int spurious_fault(unsigned long error_code,
|
||||||
if (!pte_present(*pte))
|
if (!pte_present(*pte))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return spurious_fault_check(error_code, pte);
|
ret = spurious_fault_check(error_code, pte);
|
||||||
|
if (!ret)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Make sure we have permissions in PMD
|
||||||
|
* If not, then there's a bug in the page tables.
|
||||||
|
*/
|
||||||
|
ret = spurious_fault_check(error_code, (pte_t *) pmd);
|
||||||
|
WARN_ONCE(!ret, "PMD has incorrect permission bits\n");
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue