Commit 3894f464 authored by Yang Yingliang's avatar Yang Yingliang Committed by Zeng Heng
Browse files

NTB: fix possible name leak in ntb_register_device()

mainline inclusion
from mainline-v6.9-rc1
commit aebfdfe39b9327a3077d0df8db3beb3160c9bdd0
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9L9IV
CVE: CVE-2023-52652

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



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

If device_register() fails in ntb_register_device(), the device name
allocated by dev_set_name() should be freed. As per the comment in
device_register(), callers should use put_device() to give up the
reference in the error path. So fix this by calling put_device() in the
error path so that the name can be freed in kobject_cleanup().

As a result of this, put_device() in the error path of
ntb_register_device() is removed and the actual error is returned.

Fixes: a1bd3bae ("NTB: Add NTB hardware abstraction layer")
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: default avatarDave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/20231201033057.1399131-1-yangyingliang@huaweicloud.com


[mani: reworded commit message]
Signed-off-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Conflicts:
	drivers/ntb/core.c
	drivers/pci/endpoint/functions/pci-epf-vntb.c
[The version does not include the pci-epf-vntb.c source file,
 and ntb_register_device() function is located in drivers/ntb/ntb.c.]
Signed-off-by: default avatarZeng Heng <zengheng4@huawei.com>
parent 8d055501
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment