forked from Minki/linux
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;
|
||||
pmd_t *pmd;
|
||||
pte_t *pte;
|
||||
int ret;
|
||||
|
||||
/* Reserved-bit violation or user access to kernel space? */
|
||||
if (error_code & (PF_USER | PF_RSVD))
|
||||
@ -672,7 +673,17 @@ static noinline int spurious_fault(unsigned long error_code,
|
||||
if (!pte_present(*pte))
|
||||
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
Block a user