| From 379fc0f1364735d422b0124b70cc108e9fb09db3 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sat, 2 Jan 2021 07:27:22 +0100 |
| Subject: media: media/pci: Fix memleak in empress_init |
| |
| From: Dinghao Liu <dinghao.liu@zju.edu.cn> |
| |
| [ Upstream commit 15d0c52241ecb1c9d802506bff6f5c3f7872c0df ] |
| |
| When vb2_queue_init() fails, dev->empress_dev |
| should be released just like other error handling |
| paths. |
| |
| Fixes: 2ada815fc48bb ("[media] saa7134: convert to vb2") |
| Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> |
| Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/pci/saa7134/saa7134-empress.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/media/pci/saa7134/saa7134-empress.c b/drivers/media/pci/saa7134/saa7134-empress.c |
| index 66acfd35ffc60..8680eb08b654d 100644 |
| --- a/drivers/media/pci/saa7134/saa7134-empress.c |
| +++ b/drivers/media/pci/saa7134/saa7134-empress.c |
| @@ -293,8 +293,11 @@ static int empress_init(struct saa7134_dev *dev) |
| q->lock = &dev->lock; |
| q->dev = &dev->pci->dev; |
| err = vb2_queue_init(q); |
| - if (err) |
| + if (err) { |
| + video_device_release(dev->empress_dev); |
| + dev->empress_dev = NULL; |
| return err; |
| + } |
| dev->empress_dev->queue = q; |
| |
| video_set_drvdata(dev->empress_dev, dev); |
| -- |
| 2.27.0 |
| |