diff options
Diffstat (limited to 'arch/x86/mm/fault.c')
| -rw-r--r-- | arch/x86/mm/fault.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 2b97525246d..0e883364abb 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -378,10 +378,12 @@ static noinline __kprobes int vmalloc_fault(unsigned long address)  	if (pgd_none(*pgd_ref))  		return -1; -	if (pgd_none(*pgd)) +	if (pgd_none(*pgd)) {  		set_pgd(pgd, *pgd_ref); -	else +		arch_flush_lazy_mmu_mode(); +	} else {  		BUG_ON(pgd_page_vaddr(*pgd) != pgd_page_vaddr(*pgd_ref)); +	}  	/*  	 * Below here mismatches are bugs because these lower tables  |