• I
    cxl: Fix force unmapping mmaps of contexts allocated through the kernel api · 55e07668
    Ian Munsie 提交于
    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: NIan Munsie <imunsie@au1.ibm.com>
    Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
    55e07668
context.c 7.3 KB