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:
parent
461cd3709f
commit
aab08c1aac
|
@ -369,10 +369,16 @@ int idxd_cdev_register(void)
|
|||
rc = alloc_chrdev_region(&ictx[i].devt, 0, MINORMASK,
|
||||
ictx[i].name);
|
||||
if (rc)
|
||||
return rc;
|
||||
goto err_free_chrdev_region;
|
||||
}
|
||||
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue