cxl: Early return from cxl_handle_fault for a shut down context
authorIan Munsie <imunsie@au1.ibm.com>
Mon, 8 Dec 2014 08:17:58 +0000 (19:17 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 29 Dec 2014 04:45:43 +0000 (15:45 +1100)
If a context is being detached and we get a translation fault for it
there is little point getting it's mm and handling the fault, so just
respond with an address error and return earlier.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/cxl/fault.c

index f8684bca2d79ddb5be7af1621fd6f72bf779c8af..e010302a192bc31bad3ee6c8d5ad78891089bef7 100644 (file)
@@ -180,6 +180,12 @@ void cxl_handle_fault(struct work_struct *fault_work)
                return;
        }
 
+       /* Early return if the context is being / has been detached */
+       if (ctx->status == CLOSED) {
+               cxl_ack_ae(ctx);
+               return;
+       }
+
        pr_devel("CXL BOTTOM HALF handling fault for afu pe: %i. "
                "DSISR: %#llx DAR: %#llx\n", ctx->pe, dsisr, dar);