Lukasz Anaczkowski <[email protected]> wrote:

> From: Andi Kleen <[email protected]>
> +void fix_pte_leak(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
> +{
Here there should be a call to smp_mb__after_atomic() to synchronize with
switch_mm. I submitted a similar patch, which is still pending (hint).

> +     if (cpumask_any_but(mm_cpumask(mm), smp_processor_id()) < nr_cpu_ids) {
> +             trace_tlb_flush(TLB_LOCAL_SHOOTDOWN, TLB_FLUSH_ALL);
> +             flush_tlb_others(mm_cpumask(mm), mm, addr,
> +                              addr + PAGE_SIZE);
> +             mb();
> +             set_pte(ptep, __pte(0));
> +     }
> +}

Regards,
Nadav

Reply via email to