dmaengine: idxd: Fix the error handling path in idxd_cdev_register()
[ Upstream commitaab08c1aac
] If a call to alloc_chrdev_region() fails, the already allocated resources are leaking. Add the needed error handling path to fix the leak. Fixes:42d279f913
("dmaengine: idxd: add char driver to expose submission portal to userland") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Acked-by: Dave Jiang <dave.jiang@intel.com> Link: https://lore.kernel.org/r/1b5033dcc87b5f2a953c413f0306e883e6114542.1650521591.git.christophe.jaillet@wanadoo.fr Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
b9c9b4584b
Коммит
b3c7b5d08e
|
@ -369,10 +369,16 @@ int idxd_cdev_register(void)
|
||||||
rc = alloc_chrdev_region(&ictx[i].devt, 0, MINORMASK,
|
rc = alloc_chrdev_region(&ictx[i].devt, 0, MINORMASK,
|
||||||
ictx[i].name);
|
ictx[i].name);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
goto err_free_chrdev_region;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_free_chrdev_region:
|
||||||
|
for (i--; i >= 0; i--)
|
||||||
|
unregister_chrdev_region(ictx[i].devt, MINORMASK);
|
||||||
|
|
||||||
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
void idxd_cdev_remove(void)
|
void idxd_cdev_remove(void)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче