Commit 1891c586 authored by Dinghao Liu's avatar Dinghao Liu Committed by Hongbo Li
Browse files

extcon: Fix error handling in extcon_dev_register

stable inclusion
from stable-v4.19.185
commit 1c0c462130a51af92e04d0c4989c351793d59633
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBP2KJ
CVE: CVE-2022-49308

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1c0c462130a51af92e04d0c4989c351793d59633



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

[ Upstream commit d3bdd1c3 ]

When devm_kcalloc() fails, we should execute device_unregister()
to unregister edev->dev from system.

Fixes: 046050f6 ("extcon: Update the prototype of extcon_register_notifier() with enum extcon")
Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarHongbo Li <lihongbo22@huawei.com>
parent 3c67b39e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1256,6 +1256,7 @@ int extcon_dev_register(struct extcon_dev *edev)
				sizeof(*edev->nh), GFP_KERNEL);
	if (!edev->nh) {
		ret = -ENOMEM;
		device_unregister(&edev->dev);
		goto err_dev;
	}