On Dez 16 2016, Minchan Kim <minc...@kernel.org> wrote:

> Below helps?
>
> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> index e10a4fe..dc37c9a 100644
> --- a/mm/huge_memory.c
> +++ b/mm/huge_memory.c
> @@ -1611,6 +1611,7 @@ int madvise_free_huge_pmd(struct mmu_gather *tlb, 
> struct vm_area_struct *vma,
>                       tlb->fullmm);
>               orig_pmd = pmd_mkold(orig_pmd);
>               orig_pmd = pmd_mkclean(orig_pmd);
> +             orig_pmd = pmd_wrprotect(orig_pmd);
>  
>               set_pmd_at(mm, addr, pmd, orig_pmd);
>               tlb_remove_pmd_tlb_entry(tlb, pmd, addr);

Thanks, this fixes the issue (tested with 4.9).

Andreas.

-- 
Andreas Schwab, SUSE Labs, sch...@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

Reply via email to