Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ccb22c87 authored by Yang Yingliang's avatar Yang Yingliang Committed by Greg Kroah-Hartman
Browse files

xen/pcpu: fix possible memory leak in register_pcpu()



[ Upstream commit da36a2a76b01b210ffaa55cdc2c99bc8783697c5 ]

In device_add(), dev_set_name() is called to allocate name, if it returns
error, the name need be freed. As comment of device_register() says, it
should use put_device() to give up the reference in the error path. So fix
this by calling put_device(), then the name can be freed in kobject_cleanup().

Fixes: f65c9bb3 ("xen/pcpu: Xen physical cpus online/offline sys interface")
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20221110152441.401630-1-yangyingliang@huawei.com


Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 688a5d8e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -228,7 +228,7 @@ static int register_pcpu(struct pcpu *pcpu)


	err = device_register(dev);
	err = device_register(dev);
	if (err) {
	if (err) {
		pcpu_release(dev);
		put_device(dev);
		return err;
		return err;
	}
	}