aboutsummaryrefslogtreecommitdiff
path: root/drivers/fpga/ts73xx-fpga.c
diff options
context:
space:
mode:
authorDan Williams <[email protected]>2018-07-13 21:50:32 -0700
committerDave Jiang <[email protected]>2018-08-20 09:22:45 -0700
commit284ce4011ba60d6c487b668eea729b6294930806 (patch)
treef0f3fbbd78d266f9983d69b29453cb3817f7fb27 /drivers/fpga/ts73xx-fpga.c
parent510ee090abc3dbc862bd35f5f3d8b7284a9117b4 (diff)
x86/memory_failure: Introduce {set, clear}_mce_nospec()
Currently memory_failure() returns zero if the error was handled. On that result mce_unmap_kpfn() is called to zap the page out of the kernel linear mapping to prevent speculative fetches of potentially poisoned memory. However, in the case of dax mapped devmap pages the page may be in active permanent use by the device driver, so it cannot be unmapped from the kernel. Instead of marking the page not present, marking the page UC should be sufficient for preventing poison from being pre-fetched into the cache. Convert mce_unmap_pfn() to set_mce_nospec() remapping the page as UC, to hide it from speculative accesses. Given that that persistent memory errors can be cleared by the driver, include a facility to restore the page to cacheable operation, clear_mce_nospec(). Cc: Thomas Gleixner <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: "H. Peter Anvin" <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: <[email protected]> Cc: <[email protected]> Acked-by: Tony Luck <[email protected]> Signed-off-by: Dan Williams <[email protected]> Acked-by: Ingo Molnar <[email protected]> Signed-off-by: Dave Jiang <[email protected]>
Diffstat (limited to 'drivers/fpga/ts73xx-fpga.c')
0 files changed, 0 insertions, 0 deletions