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