[PATCH] drm/radeon: evergreen/cayman indirect draw support
Glenn Kennard
glenn.kennard at gmail.com
Sat Nov 8 15:50:34 PST 2014
On Sun, 09 Nov 2014 00:15:49 +0100, Jerome Glisse <j.glisse at gmail.com>
wrote:
> On Sat, Nov 08, 2014 at 11:51:30PM +0100, Glenn Kennard wrote:
>> Signed-off-by: Glenn Kennard <glenn.kennard at gmail.com>
>
> NAK insecure. This is missing any kind of boundary checking for the
> indirect buffer and thus can be abuse.
The indirect command buffer is a fixed format 16 or 20 bytes size, read by
fixed function hardware, which only contains the following:
For PACKET3_DRAW_INDIRECT:
typedef struct {
GLuint count;
GLuint primCount;
GLuint first;
GLuint reservedMustBeZero;
} DrawArraysIndirectCommand;
or PACKET3_DRAW_INDEX_INDIRECT:
typedef struct {
GLuint count;
GLuint primCount;
GLuint firstIndex;
GLint baseVertex;
GLuint reservedMustBeZero;
} DrawElementsIndirectCommand;
Please outline an example of how this would be abused.
/Glenn
More information about the dri-devel
mailing list