[PATCH] cxl: Fix error path on bad ioctl

Frederic Barrat fbarrat at linux.vnet.ibm.com
Tue Jun 6 19:30:00 AEST 2017



Le 06/06/2017 à 11:20, Michael Ellerman a écrit :
> Frederic Barrat <fbarrat at linux.vnet.ibm.com> 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?


That's correct. I'm about to send a v2 to address Vaibhav's comment and 
I'll fix the above as well.

Thanks,

   Fred



> cheers
> 
>> 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
> 



More information about the Linuxppc-dev mailing list