Lukasz <[email protected]> wrote:

> From: Nadav Amit [mailto:[email protected]] 
> Sent: Tuesday, June 14, 2016 8:38 PM
> 
>>> +   pte_t pte = ptep_get_and_clear(mm, addr, ptep);
>>> +
>>> +   if (boot_cpu_has_bug(X86_BUG_PTE_LEAK))
>>> +           fix_pte_leak(mm, addr, ptep);
>>> +   return pte;
>>> }
>> 
>> I missed it on the previous iteration: ptep_get_and_clear already calls 
>> fix_pte_leak when needed. So do you need to call it again here?
> 
> You're right, Nadav. Not needing this. Will be removed in next version of the 
> patch.

Be careful here. According to the SDM when invalidating a huge-page,
each 4KB page needs to be invalidated separately. In practice, when
Linux invalidates 2MB/1GB pages it performs a full TLB flush. The
full flush may not be required on knights landing, and specifically
for the workaround, but you should check.  

Regards,
Nadav

Reply via email to