[PATCH] drm/exynos: fix pages allocation in lowlevel_buffer_allocate

YoungJun Cho yj44.cho at samsung.com
Tue Jul 2 17:07:09 PDT 2013


Dear Mr.Dae,

On Jul 2, 2013 9:42 PM, "Inki Dae" <inki.dae at samsung.com> wrote:
>
> 2013/7/2 YoungJun Cho <yj44.cho at samsung.com>:
> > Dear Ville
> >
> > On Jul 2, 2013 8:42 PM, "Ville Syrjälä" <ville.syrjala at linux.intel.com>
> > wrote:
> >>
> >> On Tue, Jul 02, 2013 at 07:59:22PM +0900, Seung-Woo Kim wrote:
> >> > From: YoungJun Cho <yj44.cho at samsung.com>
> >> >
> >> > When drm iommu is not supported, buf->pages has to be allocated
> >> > and assigned to phys_to_page() result, which type is struct page *.
> >> > So it is sufficient to allocate buf->pages with multiple struct
> >> > page pointer size.
> >> >
> >> > Signed-off-by: YoungJun Cho <yj44.cho at samsung.com>
> >> > Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> >> > ---
> >> >  drivers/gpu/drm/exynos/exynos_drm_buf.c |    2 +-
> >> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >> >
> >> > diff --git a/drivers/gpu/drm/exynos/exynos_drm_buf.c
> >> > b/drivers/gpu/drm/exynos/exynos_drm_buf.c
> >> > index 22865ba..3200622 100644
> >> > --- a/drivers/gpu/drm/exynos/exynos_drm_buf.c
> >> > +++ b/drivers/gpu/drm/exynos/exynos_drm_buf.c
> >> > @@ -57,7 +57,7 @@ static int lowlevel_buffer_allocate(struct
drm_device
> >> > *dev,
> >> >               dma_addr_t start_addr;
> >> >               unsigned int i = 0;
> >> >
> >> > -             buf->pages = kzalloc(sizeof(struct page) * nr_pages,
> >> > +             buf->pages = kzalloc(sizeof(struct page *) * nr_pages,
> >> >                                       GFP_KERNEL);
> >>
> >> Looks like a prime candidate for kcalloc()
> >>
> >
> > Thank you for nice comments.
> > I had no idea to consider overflow!
> >
> > I'll update again.
>
> Mr. Cho,
>
> it seems better to use utility function, drm_calloc_large().
>

Your comment is more suitable for this patch. I'll use it.

Thank you!

Best regards YJ

> Thanks,
> Inki Dae
>
> >
> > Best regards YJ
> >
> >> >               if (!buf->pages) {
> >> >                       DRM_ERROR("failed to allocate pages.\n");
> >> > --
> >> > 1.7.9.5
> >> >
> >> > _______________________________________________
> >> > dri-devel mailing list
> >> > dri-devel at lists.freedesktop.org
> >> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
> >>
> >> --
> >> Ville Syrjälä
> >> Intel OTC
> >> _______________________________________________
> >> dri-devel mailing list
> >> dri-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/dri-devel
> >
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
> >
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20130703/a130c657/attachment-0001.html>


More information about the dri-devel mailing list