2019-08-02 02:32:07

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH -next] drm/vgem: Fix wrong pointer passed to PTR_ERR()

PTR_ERR should access the value just tested by IS_ERR, otherwise
the wrong error code will be returned.

Fixes: 7e9e5ead55be ("drm/vgem: fix cache synchronization on arm/arm64")
Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/gpu/drm/vgem/vgem_drv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
index b98689fb0d5d..ef52546f48c4 100644
--- a/drivers/gpu/drm/vgem/vgem_drv.c
+++ b/drivers/gpu/drm/vgem/vgem_drv.c
@@ -304,10 +304,10 @@ static struct page **pin_and_sync(struct drm_vgem_gem_object *bo)
if (IS_ERR(sgt)) {
dev_err(dev->dev,
"failed to allocate sgt: %ld\n",
- PTR_ERR(bo->table));
+ PTR_ERR(sgt));
drm_gem_put_pages(&bo->base, pages, false, false);
mutex_unlock(&bo->pages_lock);
- return ERR_CAST(bo->table);
+ return ERR_CAST(sgt);
}

/*