staging: sm750fb: Call iounmap() to free mapped bus memory
If ioremap_wc() fails, the code jumps to the "exit" label and forgets to free the bus memory mapped into "sm750_dev->pvReg". Mapped bus memory must always be freed by calling iounmap(). Call iounmap(sm750_dev->pvReg) when the above-mentioned failures happen. The site of the missing iounmap() has been detected by Smatch. Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20220402175655.31512-1-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
c9736770e6
Коммит
aaec586a3c
|
@ -81,6 +81,7 @@ int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
|
|||
sm750_dev->pvMem =
|
||||
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
|
||||
if (!sm750_dev->pvMem) {
|
||||
iounmap(sm750_dev->pvReg);
|
||||
pr_err("Map video memory failed\n");
|
||||
ret = -EFAULT;
|
||||
goto exit;
|
||||
|
|
Загрузка…
Ссылка в новой задаче