[bug report] drm/prime: replace NULL with error value in drm_prime_pages_to_sg
Dan Carpenter
dan.carpenter at oracle.com
Fri Jun 15 09:08:49 UTC 2018
On Fri, Jun 15, 2018 at 08:39:17AM +0300, Oleksandr Andrushchenko wrote:
> On 06/15/2018 06:22 AM, YoungJun Cho wrote:
> > Dear Dan,
> >
> > Your mail flashes back to my memory 5 years ago.
> > Back then, I had cleaned up the exynos driver.
> >
> > And the replacement IS_ERR was one of items.
> >
> > IMHO it is still better to modify those two functions,
> > drm_gem_cma_prime_get_sg_table and xen_drm_front_gem_get_sg_table.
> >
> > Thank you.
> > Best regards YJ
> >
> >
> > On Thu, 14 Jun 2018, 23:42 Dan Carpenter, <dan.carpenter at oracle.com
> > <mailto:dan.carpenter at oracle.com>> wrote:
> >
> > Hello YoungJun Cho,
> >
> > The patch 7e3d88f9cce3: "drm/prime: replace NULL with error value in
> > drm_prime_pages_to_sg" from Jun 24, 2013, leads to the following
> > static checker warning:
> >
> > drivers/gpu/drm/drm_prime.c:317 drm_gem_map_dma_buf()
> > warn: 'sgt' can also be NULL
> >
> > drivers/gpu/drm/drm_prime.c
> > 307 /*
> > 308 * two mappings with different directions for the
> > same attachment are
> > 309 * not allowed
> > 310 */
> > 311 if (WARN_ON(prime_attach->dir != DMA_NONE))
> > 312 return ERR_PTR(-EBUSY);
> > 313
> > 314 sgt = obj->dev->driver->gem_prime_get_sg_table(obj);
> >
> > The problematic functions here are
> > drm_gem_cma_prime_get_sg_table() and
> > xen_drm_front_gem_get_sg_table(). My preference would be to update
> > those functions to return error pointers, but I'm not familiar
> > with the
> > code or able to test it.
> >
> I believe it is safe to change the return value to error pointer:
> the code below (which is the only caller of .gem_prime_get_sg_table
> callback) does not check for NULL anyways
>
> Dan, do you want me to send the patch for Xen or you prefer to post both
> Xen and CMA helpers fix yourself?
Can you do it and give me a Reported-by tag?
regards,
dan carpenter
More information about the dri-devel
mailing list