Re: [PATCH] cxl: Fix error path on bad ioctl
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-06-06 09:20:15
Frederic Barrat [off-list ref] writes:
Fix error path if we can't copy user structure on CXL_IOCTL_START_WORK ioctl.
To be clear the error is that returning via the out label will unlock
cxl->status_mutex, which has not been locked.
Please spell it out for me :)
This should be:
Fixes: 0712dc7e73e5 ("cxl: Fix issues when unmapping contexts")
Am I right?
cheers
quoted hunk ↗ jump to hunk
diff --git a/drivers/misc/cxl/file.c b/drivers/misc/cxl/file.c index 17b433f1ce23..caa44adfa60e 100644 --- a/drivers/misc/cxl/file.c +++ b/drivers/misc/cxl/file.c@@ -160,10 +160,8 @@ static long afu_ioctl_start_work(struct cxl_context *ctx, /* Do this outside the status_mutex to avoid a circular dependency with * the locking in cxl_mmap_fault() */ if (copy_from_user(&work, uwork, - sizeof(struct cxl_ioctl_start_work))) { - rc = -EFAULT; - goto out; - } + sizeof(struct cxl_ioctl_start_work))) + return -EFAULT; mutex_lock(&ctx->status_mutex); if (ctx->status != OPENED) {-- 2.11.0