diff options
author | Yang Yingliang <yangyingliang@huawei.com> | 2022-11-10 09:24:23 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-11-25 08:36:22 +0100 |
commit | 262ad4f3d1f9e008c9ba38f4f3424ea71b79d6a0 (patch) | |
tree | e082617273a138f5a3d8485c21abe7ee24f2a5a4 | |
parent | media: cedrus: Relax HEVC SPS restrictions (diff) | |
download | linux-262ad4f3d1f9e008c9ba38f4f3424ea71b79d6a0.tar.xz linux-262ad4f3d1f9e008c9ba38f4f3424ea71b79d6a0.zip |
media: solo6x10: fix possible memory leak in solo_sysfs_init()
If device_register() returns error in solo_sysfs_init(), the
name allocated by dev_set_name() need be freed. As comment of
device_register() says, it should use put_device() to give up
the reference in the error path. So fix this by calling
put_device(), then the name can be freed in kobject_cleanup().
Fixes: dcae5dacbce5 ("[media] solo6x10: sync to latest code from Bluecherry's git repo")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
-rw-r--r-- | drivers/media/pci/solo6x10/solo6x10-core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/media/pci/solo6x10/solo6x10-core.c b/drivers/media/pci/solo6x10/solo6x10-core.c index 4a546eeefe38..6d87fbb0ee04 100644 --- a/drivers/media/pci/solo6x10/solo6x10-core.c +++ b/drivers/media/pci/solo6x10/solo6x10-core.c @@ -420,6 +420,7 @@ static int solo_sysfs_init(struct solo_dev *solo_dev) solo_dev->nr_chans); if (device_register(dev)) { + put_device(dev); dev->parent = NULL; return -ENOMEM; } |