Patch "drm/radeon: Use drm_calloc_ab for CS relocs" has been added to the 4.0-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/radeon: Use drm_calloc_ab for CS relocs
to the 4.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-radeon-use-drm_calloc_ab-for-cs-relocs.patch
and it can be found in the queue-4.0 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
b421ed15d2c3039eb724680e4de1e4b2bd196a9aMon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <[email protected]>
Date: Thu, 16 Apr 2015 11:17:27 +0900
Subject: drm/radeon: Use drm_calloc_ab for CS relocs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <[email protected]>
commit b421ed15d2c3039eb724680e4de1e4b2bd196a9a upstream.
The number of relocs is passed in by userspace and can be large. It has been observed to cause kcalloc failures in the wild.
--- drivers/gpu/drm/radeon/radeon_cs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/gpu/drm/radeon/radeon_cs.c +2 -2
@@ -88,7 +88,7 @@ static int radeon_cs_parser_relocs(struc 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 } }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);
Patches currently in stable-queue which might be from [email protected] are
queue-4.0/drm-radeon-use-drm_calloc_ab-for-cs-relocs.patch