[PATCH] drm/amd/amdgpu: handle return value of amdgpu_driver_load_kms

Chauhan, Madhav Madhav.Chauhan at amd.com
Tue Jun 9 11:00:35 UTC 2020

-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Liu ChengZhe
Sent: Tuesday, June 9, 2020 2:50 PM
To: amd-gfx at lists.freedesktop.org
Cc: Liu, Cheng Zhe <ChengZhe.Liu at amd.com>
Subject: [PATCH] drm/amd/amdgpu: handle return value of amdgpu_driver_load_kms

[CAUTION: External Email]

if guest driver failed to enter full GPU access, amdgpu_driver_load_kms will unload kms and free dev->dev_private, drm_dev_register would access null pointer. Driver will enter an error state and can't be unloaded.

Signed-off-by: Liu ChengZhe <mailto:ChengZhe.Liu at amd.com>
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 667aad1f15c0..9c81a3d0b546 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -1165,7 +1165,9 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,

        pci_set_drvdata(pdev, dev);

-       amdgpu_driver_load_kms(dev, ent->driver_data);
+       ret = amdgpu_driver_load_kms(dev, ent->driver_data);
+       if (ret)
+               goto err_pci;

Looks good to me. Reviewed-by: Madhav Chauhan <madhav.chauhan at amd.com>

        ret = drm_dev_register(dev, ent->driver_data);

amd-gfx mailing list
mailto:amd-gfx at lists.freedesktop.org

More information about the amd-gfx mailing list