In case of error, the function pci_iomap() returns NULL pointer
not ERR_PTR(). The IS_ERR() test in the return value check
should be replaced with NULL test.
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Qiheng Lin <[email protected]>
---
drivers/misc/pvpanic/pvpanic-pci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/misc/pvpanic/pvpanic-pci.c b/drivers/misc/pvpanic/pvpanic-pci.c
index f38a80a5bbc8..9ecc4e8559d5 100644
--- a/drivers/misc/pvpanic/pvpanic-pci.c
+++ b/drivers/misc/pvpanic/pvpanic-pci.c
@@ -83,8 +83,8 @@ static int pvpanic_pci_probe(struct pci_dev *pdev,
return ret;
base = pci_iomap(pdev, 0, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ if (!base)
+ return -ENOMEM;
pi = kmalloc(sizeof(*pi), GFP_ATOMIC);
if (!pi)
On Tue, Mar 30, 2021 at 09:36:59AM +0800, Qiheng Lin wrote:
> In case of error, the function pci_iomap() returns NULL pointer
> not ERR_PTR(). The IS_ERR() test in the return value check
> should be replaced with NULL test.
Error path there is broken completely, this is only one place you fix, but I
suggest to switch to devm*, pcim* APIs instead,
--
With Best Regards,
Andy Shevchenko