> -----Original Message----- > From: Subash Patel [mailto:subas...@gmail.com] > Sent: Tuesday, June 26, 2012 3:23 AM > To: dri-devel@lists.freedesktop.org; linux-samsung-...@vger.kernel.org; > linaro-mm-...@lists.linaro.org > Cc: ol...@chromium.org; inki....@samsung.com; airl...@redhat.com; Subash > Patel; Subash Patel > Subject: [PATCH 1/2] DRM: Exynos: return NULL if exynos_pages_to_sg fails > > From: Subash Patel <subash...@samsung.com> > > 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.ramasw...@linaro.org> > CC: dri-devel@lists.freedesktop.org > CC: linux-samsung-...@vger.kernel.org > CC: linaro-mm-...@lists.linaro.org > CC: inki....@samsung.com > CC: airl...@redhat.com > CC: ol...@chromium.org > --- > 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 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel