> -----Original Message----- > From: Subash Patel [mailto:subashrp@xxxxxxxxx] > Sent: Tuesday, June 26, 2012 3:23 AM > To: dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-samsung-soc@xxxxxxxxxxxxxxx; > linaro-mm-sig@xxxxxxxxxxxxxxxx > Cc: olofj@xxxxxxxxxxxx; inki.dae@xxxxxxxxxxx; airlied@xxxxxxxxxx; Subash > Patel; Subash Patel > Subject: [PATCH 1/2] DRM: Exynos: return NULL if exynos_pages_to_sg fails > > From: Subash Patel <subash.rp@xxxxxxxxxxx> > > exynos_pages_to_sg() internally calls sg_kmalloc() which can return > no pages when the system is under high memory crunch. One such instance > is chromeos-install in the chromeos. This patch adds check for the return > value of the function in subject to return NULL on failure. > > Change-Id: I541ed30491a926ebe72738225041c9f2d88007bc > Signed-off-by: Subash Patel <subash.ramaswamy@xxxxxxxxxx> > CC: dri-devel@xxxxxxxxxxxxxxxxxxxxx > CC: linux-samsung-soc@xxxxxxxxxxxxxxx > CC: linaro-mm-sig@xxxxxxxxxxxxxxxx > CC: inki.dae@xxxxxxxxxxx > CC: airlied@xxxxxxxxxx > CC: olofj@xxxxxxxxxxxx > --- > drivers/gpu/drm/exynos/exynos_drm_dmabuf.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_dmabuf.c > b/drivers/gpu/drm/exynos/exynos_drm_dmabuf.c > index 97325c1..52cf761 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_dmabuf.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_dmabuf.c > @@ -87,6 +87,10 @@ static struct sg_table * > npages = buf->size / buf->page_size; > > sgt = exynos_pages_to_sg(buf->pages, npages, buf->page_size); > + if (!sgt) { > + DRM_DEBUG_PRIME("exynos_pages_to_sg returned NULL!\n"); > + goto err_unlock; > + } > nents = dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir); > > DRM_DEBUG_PRIME("npages = %d buffer size = 0x%lx page_size = > 0x%lx\n", > -- > 1.7.9.5 Applied. Thanks, Inki Dae -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html