Re: [PATCH] drm/hisilicon: Use pcim_enable_device()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




在 2020/12/22 6:02, Daniel Vetter 写道:
On Mon, Dec 21, 2020 at 08:45:22AM +0800, Tian Tao wrote:
Using the managed function simplifies the error handling. After
unloading the driver, the PCI device should now get disabled as
well.

Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx>
---
  drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 02f3bd1..7159018 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -329,7 +329,7 @@ static int hibmc_pci_probe(struct pci_dev *pdev,
  	dev->pdev = pdev;
  	pci_set_drvdata(pdev, dev);
- ret = pci_enable_device(pdev);
+	ret = pcim_enable_device(pdev);
  	if (ret) {
  		drm_err(dev, "failed to enable pci device: %d\n", ret);
  		goto err_free;
@@ -338,7 +338,7 @@ static int hibmc_pci_probe(struct pci_dev *pdev,
  	ret = hibmc_load(dev);
  	if (ret) {
  		drm_err(dev, "failed to load hibmc: %d\n", ret);
-		goto err_disable;
+		goto err_free;
  	}
ret = drm_dev_register(dev, 0);
@@ -354,8 +354,6 @@ static int hibmc_pci_probe(struct pci_dev *pdev,
err_unload:
  	hibmc_unload(dev);
-err_disable:
-	pci_disable_device(pdev);
  err_free:
  	drm_dev_put(dev);
The drm_dev_put here and in hibmc_pci_remove is wrong, devm_drm_dev_alloc
takes care of that already. I'm kinda suprised you don't have a refcount
underrun already - do you test module unload with KASAN enabled?

Thanks for helping to review the code,and kindly giving me advice。

this problem have been fixed。

c855af2f9c5c60760fd1bed7889a81bc37d2591d drm/hisilicon: Fix use-after-free

The pcim patch looks ok, so Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

Cheers, Daniel

--
2.7.4


_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux