Lukasz Anaczkowski <[email protected]> wrote:

> From: Andi Kleen <[email protected]>
> 
> +void fix_pte_leak(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
> +{
> +     if (cpumask_any_but(mm_cpumask(mm), smp_processor_id()) < nr_cpu_ids) {
> +             trace_tlb_flush(TLB_LOCAL_SHOOTDOWN, TLB_FLUSH_ALL);
This tracing seems incorrect since you don’t perform a local flush.
I don’t think you need any tracing - native_flush_tlb_others will do it for you.

> +             flush_tlb_others(mm_cpumask(mm), mm, addr,
> +                              addr + PAGE_SIZE);
> +             mb();
Why do you need the memory barrier?

Regards,
Nadav

Reply via email to