misc: pci_endpoint_test: fix return value of error branch

[ Upstream commit 1749c90489f2afa6b59dbf3ab59d58a9014c84a1 ]

We return 'err' in the error branch, but this variable may be set as
zero before. Fix it by setting 'err' as a negative value before we
goto the error label.

Fixes: e03327122e ("pci_endpoint_test: Add 2 ioctl commands")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com>
Link: https://lore.kernel.org/r/1605790158-6780-1-git-send-email-wangxiongfeng2@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Xiongfeng Wang 2020-11-19 20:49:18 +08:00 committed by Greg Kroah-Hartman
parent 70f87d48bf
commit 096ee6ebd0

View File

@ -811,8 +811,10 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
pci_set_master(pdev);
if (!pci_endpoint_test_alloc_irq_vectors(test, irq_type))
if (!pci_endpoint_test_alloc_irq_vectors(test, irq_type)) {
err = -EINVAL;
goto err_disable_irq;
}
for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) {
if (pci_resource_flags(pdev, bar) & IORESOURCE_MEM) {
@ -849,8 +851,10 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
goto err_ida_remove;
}
if (!pci_endpoint_test_request_irq(test))
if (!pci_endpoint_test_request_irq(test)) {
err = -EINVAL;
goto err_kfree_test_name;
}
misc_device = &test->miscdev;
misc_device->minor = MISC_DYNAMIC_MINOR;