media: rockchip/rga: fix error handling in probe
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 13 Jul 2021 09:24:10 +0000 (11:24 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 22 Jul 2021 12:01:55 +0000 (14:01 +0200)
commite58430e1d4fd01b74475d2fbe2e25b5817b729a9
tree0214fecec9fd14ee0052cfa5b4304a3d36b75a42
parent055d2db28ec2fa3ab5c527c5604f1b32b89fa13a
media: rockchip/rga: fix error handling in probe

There are a few bugs in this code.  1)  No checks for whether
dma_alloc_attrs() or __get_free_pages() failed.  2)  If
video_register_device() fails it doesn't clean up the dma attrs or the
free pages.  3)  The video_device_release() function frees "vfd" which
leads to a use after free on the next line.  The call to
video_unregister_device() is not required so I have just removed that.

Fixes: f7e7b48e6d79 ("[media] rockchip/rga: v4l2 m2m support")
Reported-by: Dongliang Mu <mudongliangabcd@gmail.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/rockchip/rga/rga.c