Commit 04133622 authored by ruanjinjie's avatar ruanjinjie Committed by sanglipeng
Browse files

powerpc/pseries: fix possible memory leak in ibmebus_bus_init()

stable inclusion
from stable-v5.10.197
commit 9f3b2b666833ebef6d0ce5a40e189f38e70342a1
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I96Q8P

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



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

[ Upstream commit afda85b9 ]

If device_register() returns error in ibmebus_bus_init(), name of kobject
which is allocated in dev_set_name() called in device_add() is leaked.

As comment of device_add() says, it should call put_device() to drop
the reference count that was set in device_initialize() when it fails,
so the name can be freed in kobject_cleanup().

Signed-off-by: default avatarruanjinjie <ruanjinjie@huawei.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20221110011929.3709774-1-ruanjinjie@huawei.com


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>
parent d6cee6ad
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -451,6 +451,7 @@ static int __init ibmebus_bus_init(void)
	if (err) {
		printk(KERN_WARNING "%s: device_register returned %i\n",
		       __func__, err);
		put_device(&ibmebus_bus_device);
		bus_unregister(&ibmebus_bus_type);

		return err;