Messages in this thread | | | Date | Thu, 7 Feb 2019 10:40:21 -0800 | From | "Luck, Tony" <> | Subject | Re: [GIT PULL] x86/mm changes for v4.21 |
| |
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@intel.com>
Thanks
-Tony
| |