diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2011-08-31 00:41:14 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-09-06 16:49:27 -0700 |
commit | 303dfbf5727410bfa3e82d4e2554813f1e8f2de6 (patch) | |
tree | 4672a8a3de6a8178efa8909da55c215c492b83ea /drivers/staging/mei | |
parent | 17966e3bb8a3a0d883f4893e515c174ac5980413 (diff) |
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 <khoroshilov@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/mei')
-rw-r--r-- | drivers/staging/mei/main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/mei/main.c b/drivers/staging/mei/main.c index 8d7678569e71..78028f8c0b8f 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) { |