2016-03-21 12:29:15

by Max Kellermann

[permalink] [raw]
Subject: [PATCH] drivers/media/media-devnode: add missing mutex lock in error handler

All accesses to media_devnode_nums must be protected with
media_devnode_lock. The error code path in media_devnode_register()
did not do this, however.

Signed-off-by: Max Kellermann <[email protected]>
---
drivers/media/media-devnode.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/media/media-devnode.c b/drivers/media/media-devnode.c
index cea35bf..4d7e8dd 100644
--- a/drivers/media/media-devnode.c
+++ b/drivers/media/media-devnode.c
@@ -266,8 +266,11 @@ int __must_check media_devnode_register(struct media_devnode *mdev,
return 0;

error:
+ mutex_lock(&media_devnode_lock);
cdev_del(&mdev->cdev);
clear_bit(mdev->minor, media_devnode_nums);
+ mutex_unlock(&media_devnode_lock);
+
return ret;
}