Commit 3cf71ab1 authored by Wenkai Lin's avatar Wenkai Lin Committed by JangShui Yang
Browse files

uacce: fix for cdev memory leak

driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I9NUTY


CVE: NA

----------------------------------------------------------------------

If the cdev_device_add fails, cdev should be free before return.

Fixes: 015d239a ("uacce: add uacce driver")
Signed-off-by: default avatarWenkai Lin <linwenkai6@hisilicon.com>
Signed-off-by: default avatarJiangShui Yang <yangjiangshui@h-partners.com>
parent 7554d787
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -984,6 +984,8 @@ EXPORT_SYMBOL_GPL(uacce_alloc);
 */
int uacce_register(struct uacce_device *uacce)
{
	int ret;

	if (!uacce)
		return -ENODEV;

@@ -994,7 +996,14 @@ int uacce_register(struct uacce_device *uacce)
	uacce->cdev->ops = &uacce_fops;
	uacce->cdev->owner = THIS_MODULE;

	return cdev_device_add(uacce->cdev, &uacce->dev);
	ret = cdev_device_add(uacce->cdev, &uacce->dev);
	if (ret) {
		cdev_del(uacce->cdev);
		uacce->cdev = NULL;
		return ret;
	}

	return 0;
}
EXPORT_SYMBOL_GPL(uacce_register);