dmaengine: idxd: Fix the error handling path in idxd_cdev_register()
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>
This commit is contained in:
Родитель
461cd3709f
Коммит
aab08c1aac
|
@ -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)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче