]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
authorchengkaitao <pilgrimtao@gmail.com>
Thu, 2 Jun 2022 00:55:42 +0000 (08:55 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 Jun 2022 09:49:15 +0000 (11:49 +0200)
[ Upstream commit a58a7f97ba11391d2d0d408e0b24f38d86ae748e ]

The reference must be released when device_register(&vm_cmdline_parent)
failed. Add the corresponding 'put_device()' in the error handling path.

Signed-off-by: chengkaitao <pilgrimtao@gmail.com>
Message-Id: <20220602005542.16489-1-chengkaitao@didiglobal.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/virtio/virtio_mmio.c

index 4cd9ea5c75be728b88a45df1d3d199c3d7801ab6..c69c755bf553832b9573b950064cebc1fa5bd6eb 100644 (file)
@@ -663,6 +663,7 @@ static int vm_cmdline_set(const char *device,
        if (!vm_cmdline_parent_registered) {
                err = device_register(&vm_cmdline_parent);
                if (err) {
+                       put_device(&vm_cmdline_parent);
                        pr_err("Failed to register parent device!\n");
                        return err;
                }