linux_dsm_epyc7002/drivers/misc/cxl
Ian Munsie 55e07668fb cxl: Fix force unmapping mmaps of contexts allocated through the kernel api
The cxl user api uses the address_space associated with the file when we
need to force unmap all cxl mmap regions (e.g. on eeh, driver detach,
etc). Currently, contexts allocated through the kernel api do not do
this and instead skip the mmap invalidation, potentially allowing them
to poke at the hardware after such an event, which may cause all sorts
of trouble.

This patch allocates an address_space for cxl contexts allocated through
the kernel api so that the same invalidate path will for these contexts
as well. We don't use the anonymous inode's address_space, as doing so
could invalidate any mmaps of completely unrelated drivers using
anonymous file descriptors.

This patch also introduces a kernelapi flag, so we know when freeing the
context if the address_space was allocated by us and needs to be freed.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-08-30 18:47:26 +10:00
..
api.c cxl: Fix force unmapping mmaps of contexts allocated through the kernel api 2015-08-30 18:47:26 +10:00
base.c cxl: Move include file cxl.h -> cxl-base.h 2015-06-03 13:27:19 +10:00
context.c cxl: Fix force unmapping mmaps of contexts allocated through the kernel api 2015-08-30 18:47:26 +10:00
cxl.h cxl: Fix force unmapping mmaps of contexts allocated through the kernel api 2015-08-30 18:47:26 +10:00
debugfs.c cxl: sparse: Silence iomem warning in debugfs file creation 2015-08-12 14:49:29 +10:00
fault.c cxl: Only check pid for userspace contexts 2015-06-03 13:27:18 +10:00
file.c cxl: Add alternate MMIO error handling 2015-08-18 19:34:43 +10:00
irq.c cxl: Release irqs if memory allocation fails 2015-08-27 13:51:18 +10:00
Kconfig cxl: Add CONFIG_CXL_EEH symbol 2015-08-17 13:56:29 +10:00
main.c cxl: Destroy cxl_adapter_idr on module_exit 2015-07-16 14:14:55 +10:00
Makefile cxl: Compile with -Werror 2015-08-11 07:43:40 +10:00
native.c cxl: Allocate and release the SPA with the AFU 2015-08-14 21:32:04 +10:00
pci.c cxl: Remove racy attempt to force EEH invocation in reset 2015-08-27 13:51:36 +10:00
sysfs.c cxl: Allow the kernel to trust that an image won't change on PERST. 2015-08-14 21:32:07 +10:00
trace.c cxl: Add tracepoints 2015-01-22 17:31:51 +11:00
trace.h cxl: use more common format specifier 2015-07-13 10:10:54 +10:00
vphb.c cxl: EEH support 2015-08-14 21:32:08 +10:00