From: Alexey Khoroshilov Date: Tue, 30 Aug 2011 20:41:14 +0000 (+0400) Subject: staging: mei: unlock dev->device_lock mutex on error path in mei_open() X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=303dfbf5727410bfa3e82d4e2554813f1e8f2de6;p=~shefty%2Frdma-dev.git staging: mei: unlock dev->device_lock mutex on error path in mei_open() mei_open() acquires dev->device_lock mutex and try to allocate mei_cl, but if the allocation fails it goes to return statement. As a result dev->device_lock left locked. The patch fixes goto to unlock dev->device_lock mutex on this path. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/mei/main.c b/drivers/staging/mei/main.c index 8d7678569e7..78028f8c0b8 100644 --- a/drivers/staging/mei/main.c +++ b/drivers/staging/mei/main.c @@ -413,7 +413,7 @@ static int mei_open(struct inode *inode, struct file *file) err = -ENOMEM; cl = mei_cl_allocate(dev); if (!cl) - goto out; + goto out_unlock; err = -ENODEV; if (dev->mei_state != MEI_ENABLED) {