diff options
author | Vaibhav Jain <vaibhav@linux.vnet.ibm.com> | 2016-10-21 14:53:53 +0530 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-10-24 11:38:27 +1100 |
commit | a05b82d5149dfeef05254a11c3636a89a854520a (patch) | |
tree | 754443158c6580a98fe669086cf97f981d37d1bb /drivers/misc/cxl/api.c | |
parent | 80f23935cadb1c654e81951f5a8b7ceae0acc1b4 (diff) | |
download | talos-op-linux-a05b82d5149dfeef05254a11c3636a89a854520a.tar.gz talos-op-linux-a05b82d5149dfeef05254a11c3636a89a854520a.zip |
cxl: Fix leaking pid refs in some error paths
In some error paths in functions cxl_start_context and
afu_ioctl_start_work pid references to the current & group-leader tasks
can leak after they are taken. This patch fixes these error paths to
release these pid references before exiting the error path.
Fixes: 7b8ad495d592 ("cxl: Fix DSI misses when the context owning task exits")
Cc: stable@vger.kernel.org # v4.5+
Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Reported-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/misc/cxl/api.c')
-rw-r--r-- | drivers/misc/cxl/api.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/cxl/api.c b/drivers/misc/cxl/api.c index af23d7dfe752..2e5233b60971 100644 --- a/drivers/misc/cxl/api.c +++ b/drivers/misc/cxl/api.c @@ -247,7 +247,9 @@ int cxl_start_context(struct cxl_context *ctx, u64 wed, cxl_ctx_get(); if ((rc = cxl_ops->attach_process(ctx, kernel, wed, 0))) { + put_pid(ctx->glpid); put_pid(ctx->pid); + ctx->glpid = ctx->pid = NULL; cxl_adapter_context_put(ctx->afu->adapter); cxl_ctx_put(); goto out; |