RE: [PATCH] staging/easycap: fix mismatch in easycap_poll() mutex lock-unlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Alexey Khoroshilov [mailto:khoroshilov@xxxxxxxxx]
> Sent: Monday, August 29, 2011 8:47 PM
> To: Greg Kroah-Hartman
> Cc: Alexey Khoroshilov; Winkler, Tomas; Mike Thomas;
> devel@xxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; ldv-
> project@xxxxxxxxx
> Subject: [PATCH] staging/easycap: fix mismatch in easycap_poll() mutex lock-
> unlock
> 
> In case if condition (kd != isdongle(peasycap)) becomes true,
> easycap_poll() returns without releasing
> easycapdc60_dongle[kd].mutex_video.
> The patch adds mutex_unlock() before that return.
> 
> Found by Linux Driver Verification project (linuxtesting.org).
> 
> Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>


Looks correct, thanks
Tomas

> ---
>  drivers/staging/easycap/easycap_main.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/staging/easycap/easycap_main.c
> b/drivers/staging/easycap/easycap_main.c
> index bea2816..3ea51c3 100644
> --- a/drivers/staging/easycap/easycap_main.c
> +++ b/drivers/staging/easycap/easycap_main.c
> @@ -953,8 +953,10 @@ static unsigned int easycap_poll(struct file *file,
> poll_table *wait)
>  	 *  peasycap, IN WHICH CASE A REPEAT CALL TO isdongle() WILL FAIL.
>  	 *  IF NECESSARY, BAIL OUT.
>  	 */
> -		if (kd != isdongle(peasycap))
> +		if (kd != isdongle(peasycap)) {
> +
> 	mutex_unlock(&easycapdc60_dongle[kd].mutex_video);
>  			return -ERESTARTSYS;
> +		}
>  		if (!file) {
>  			SAY("ERROR:  file is NULL\n");
> 
> 	mutex_unlock(&easycapdc60_dongle[kd].mutex_video);
> --
> 1.7.4.1

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux