Signed-off-by: Mariusz Kozlowski drivers/char/drm/drm_scatter.c | 6113 -> 5945 (-168 bytes) drivers/char/drm/drm_scatter.o | 105552 -> 105584 (+32 bytes) drivers/char/drm/drm_scatter.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) --- linux-2.6.23-rc3-mm1.orig/drivers/char/drm/drm_scatter.c +++ linux-2.6.23-rc3-mm1/drivers/char/drm/drm_scatter.c @@ -83,26 +83,22 @@ int drm_sg_alloc(struct inode *inode, st if (copy_from_user(&request, argp, sizeof(request))) return -EFAULT; - entry = drm_alloc(sizeof(*entry), DRM_MEM_SGLISTS); + entry = drm_zalloc(sizeof(*entry), DRM_MEM_SGLISTS); if (!entry) return -ENOMEM; - memset(entry, 0, sizeof(*entry)); - pages = (request.size + PAGE_SIZE - 1) / PAGE_SIZE; DRM_DEBUG("sg size=%ld pages=%ld\n", request.size, pages); entry->pages = pages; - entry->pagelist = drm_alloc(pages * sizeof(*entry->pagelist), + entry->pagelist = drm_calloc(pages, sizeof(*entry->pagelist), DRM_MEM_PAGES); if (!entry->pagelist) { drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS); return -ENOMEM; } - memset(entry->pagelist, 0, pages * sizeof(*entry->pagelist)); - - entry->busaddr = drm_alloc(pages * sizeof(*entry->busaddr), + entry->busaddr = drm_calloc(pages, sizeof(*entry->busaddr), DRM_MEM_PAGES); if (!entry->busaddr) { drm_free(entry->pagelist, @@ -111,7 +107,6 @@ int drm_sg_alloc(struct inode *inode, st drm_free(entry, sizeof(*entry), DRM_MEM_SGLISTS); return -ENOMEM; } - memset((void *)entry->busaddr, 0, pages * sizeof(*entry->busaddr)); entry->virtual = vmalloc_32(pages << PAGE_SHIFT); if (!entry->virtual) { -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/