Commit c4277e9e authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Greg Kroah-Hartman
Browse files

uio/uio_pci_generic: don't return zero on failure path in probe()



If uio_register_device() fails in probe(), it breaks off initialization,
deallocates all resources, but returns zero.

The patch adds proper error code propagation.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5de61e7a
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -91,7 +91,8 @@ static int probe(struct pci_dev *pdev,
	gdev->info.handler = irqhandler;
	gdev->info.handler = irqhandler;
	gdev->pdev = pdev;
	gdev->pdev = pdev;


	if (uio_register_device(&pdev->dev, &gdev->info))
	err = uio_register_device(&pdev->dev, &gdev->info);
	if (err)
		goto err_register;
		goto err_register;
	pci_set_drvdata(pdev, gdev);
	pci_set_drvdata(pdev, gdev);