video: fbdev: savage: fix memory leak on error handling path in probe
authorEvgeny Novikov <novikov@ispras.ru>
Fri, 19 Jun 2020 16:21:36 +0000 (19:21 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Aug 2020 06:23:35 +0000 (08:23 +0200)
commit61bd7cfde8a4a47801a86bd70cc4dd949d5c5043
treec75996bd769628d36582fdd0f535ad6710fa49b8
parent0acffa0b3e5fd95b9b3c3c5ecccd09c7579f3edd
video: fbdev: savage: fix memory leak on error handling path in probe

[ Upstream commit e8d35898a78e34fc854ed9680bc3f9caedab08cd ]

savagefb_probe() calls savage_init_fb_info() that can successfully
allocate memory for info->pixmap.addr but then fail when
fb_alloc_cmap() fails. savagefb_probe() goes to label failed_init and
does not free allocated memory. It is not valid to go to label
failed_mmio since savage_init_fb_info() can fail during memory
allocation as well. So, the patch free allocated memory on the error
handling path in savage_init_fb_info() itself.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Evgeny Novikov <novikov@ispras.ru>
Cc: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200619162136.9010-1-novikov@ispras.ru
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/video/fbdev/savage/savagefb_driver.c