virtio: pci: Fix an error handling path in vp_modern_probe()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 3 Apr 2022 09:11:14 +0000 (11:11 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:36:12 +0000 (18:36 +0200)
[ Upstream commit 7a836a2aba09479c8e71fa43249eecc4af945f61 ]

If an error occurs after a successful pci_request_selected_regions() call,
it should be undone by a corresponding pci_release_selected_regions() call,
as already done in vp_modern_remove().

Fixes: fd502729fbbf ("virtio-pci: introduce modern device module")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Message-Id: <237109725aad2c3c03d14549f777b1927c84b045.1648977064.git.christophe.jaillet@wanadoo.fr>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/virtio/virtio_pci_modern_dev.c

index e11ed74..9ab66e4 100644 (file)
@@ -340,6 +340,7 @@ err_map_notify:
 err_map_isr:
        pci_iounmap(pci_dev, mdev->common);
 err_map_common:
+       pci_release_selected_regions(pci_dev, mdev->modern_bars);
        return err;
 }
 EXPORT_SYMBOL_GPL(vp_modern_probe);