Re: [GIT PULL] x86/mm changes for v4.21

From: Luck, Tony
Date: Thu Feb 07 2019 - 13:40:26 EST


On Thu, Feb 07, 2019 at 06:57:20PM +0100, Peter Zijlstra wrote:
> Something like so then? AFAICT CLFLUSH will also #GP if feed it crap.

Correct. CFLUSH will also #GP on a non-canonical address.

> - __flush_tlb_one_kernel(__cpa_addr(cpa, i));
> + __flush_tlb_one_kernel(fix_addr(__cpa_addr(cpa, i)));


> - clflush_cache_range_opt((void *)addr, PAGE_SIZE);
> + clflush_cache_range_opt((void *)fix_addr(addr), PAGE_SIZE);

Looks like as close as you can get without being crazy. Many/most
of the apparent function calls here are going to be inlined. So
likely safe.

Tried it out and it works!

So:

Tested-by: Tony Luck <tony.luck@xxxxxxxxx>

Thanks

-Tony