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

Inki Dae inki.dae at samsung.com
Tue Jul 2 05:41:37 PDT 2013


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().

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
>


More information about the dri-devel mailing list