> -----Original Message-----
> From: Alexey Khoroshilov [mailto:[email protected]]
> Sent: Monday, August 29, 2011 8:47 PM
> To: Greg Kroah-Hartman
> Cc: Alexey Khoroshilov; Winkler, Tomas; Mike Thomas;
> [email protected]; [email protected]; ldv-
> [email protected]
> 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 <[email protected]>


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
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to