dmaengine: idxd: Fix the error handling path in idxd_cdev_register()
[ Upstream commit aab08c1aac01097815fbcf10fce7021d2396a31f ]
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:

committed by
Greg Kroah-Hartman

parent
f57696bc63
commit
6073af7815
@@ -266,10 +266,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)
|
||||||
|
Reference in New Issue
Block a user