diff options
Diffstat (limited to 'arch/x86/include/asm/pgtable.h')
| -rw-r--r-- | arch/x86/include/asm/pgtable.h | 11 | 
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 3d1999458709..bbc8b12fa443 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -452,9 +452,16 @@ static inline int pte_present(pte_t a)  }  #define pte_accessible pte_accessible -static inline int pte_accessible(pte_t a) +static inline bool pte_accessible(struct mm_struct *mm, pte_t a)  { -	return pte_flags(a) & _PAGE_PRESENT; +	if (pte_flags(a) & _PAGE_PRESENT) +		return true; + +	if ((pte_flags(a) & (_PAGE_PROTNONE | _PAGE_NUMA)) && +			mm_tlb_flush_pending(mm)) +		return true; + +	return false;  }  static inline int pte_hidden(pte_t pte)  | 
