diff options
author | Ian Munsie <imunsie@au1.ibm.com> | 2014-12-08 09:17:58 +0100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2014-12-29 05:45:43 +0100 |
commit | 13da704682471669685ccc3fe111fd6c0127b2eb (patch) | |
tree | f87c02d70f9c52b6439767a9244c9c2393aa5610 /drivers/misc/cxl | |
parent | cxl: Fix leaking interrupts if attach process fails (diff) | |
download | linux-13da704682471669685ccc3fe111fd6c0127b2eb.tar.xz linux-13da704682471669685ccc3fe111fd6c0127b2eb.zip |
cxl: Early return from cxl_handle_fault for a shut down context
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>
Diffstat (limited to 'drivers/misc/cxl')
-rw-r--r-- | drivers/misc/cxl/fault.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/misc/cxl/fault.c b/drivers/misc/cxl/fault.c index f8684bca2d79..e010302a192b 100644 --- a/drivers/misc/cxl/fault.c +++ b/drivers/misc/cxl/fault.c @@ -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); |