From: Michel Dänzer michel.daenzer@amd.com
The number of relocs is passed in by userspace and can be large. It has been observed to cause kmalloc failures in the wild.
Cc: stable@vger.kernel.org Signed-off-by: Michel Dänzer michel.daenzer@amd.com --- drivers/gpu/drm/radeon/radeon_cs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c index 4d0f96c..ab39b85 100644 --- a/drivers/gpu/drm/radeon/radeon_cs.c +++ b/drivers/gpu/drm/radeon/radeon_cs.c @@ -88,7 +88,7 @@ static int radeon_cs_parser_relocs(struct radeon_cs_parser *p) p->dma_reloc_idx = 0; /* FIXME: we assume that each relocs use 4 dwords */ p->nrelocs = chunk->length_dw / 4; - p->relocs = kcalloc(p->nrelocs, sizeof(struct radeon_bo_list), GFP_KERNEL); + p->relocs = drm_calloc_large(p->nrelocs, sizeof(struct radeon_bo_list)); if (p->relocs == NULL) { return -ENOMEM; } @@ -428,7 +428,7 @@ static void radeon_cs_parser_fini(struct radeon_cs_parser *parser, int error, bo } } kfree(parser->track); - kfree(parser->relocs); + drm_free_large(parser->relocs); drm_free_large(parser->vm_bos); for (i = 0; i < parser->nchunks; i++) drm_free_large(parser->chunks[i].kdata);
On 16.04.2015 11:17, Michel Dänzer wrote:
From: Michel Dänzer michel.daenzer@amd.com
The number of relocs is passed in by userspace and can be large. It has been observed to cause kmalloc failures in the wild.
That should of course say 'kcalloc failures'.
On 16.04.2015 04:30, Michel Dänzer wrote:
On 16.04.2015 11:17, Michel Dänzer wrote:
From: Michel Dänzer michel.daenzer@amd.com
The number of relocs is passed in by userspace and can be large. It has been observed to cause kmalloc failures in the wild.
That should of course say 'kcalloc failures'.
Yeah, with that fixed in the commit message the patch is Reviewed-by: Christian König christian.koenig@amd.com
Regards, Christian.
On Thu, Apr 16, 2015 at 3:58 AM, Christian König deathsimple@vodafone.de wrote:
On 16.04.2015 04:30, Michel Dänzer wrote:
On 16.04.2015 11:17, Michel Dänzer wrote:
From: Michel Dänzer michel.daenzer@amd.com
The number of relocs is passed in by userspace and can be large. It has been observed to cause kmalloc failures in the wild.
That should of course say 'kcalloc failures'.
Yeah, with that fixed in the commit message the patch is Reviewed-by: Christian König christian.koenig@amd.com
Applied with the commit message fixed.
Alex
Regards, Christian.
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel@lists.freedesktop.org