The type of size is unsigned, if size is 0x40000000, there will be an integer overflow, size will be zero after size *= sizeof(uint32_t), will cause uninitialized memory to be referenced later
Signed-off-by: hackyzh002 hackyzh002@gmail.com --- drivers/gpu/drm/radeon/radeon_cs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c index 46a27ebf4..a6700d727 100644 --- a/drivers/gpu/drm/radeon/radeon_cs.c +++ b/drivers/gpu/drm/radeon/radeon_cs.c @@ -270,7 +270,8 @@ int radeon_cs_parser_init(struct radeon_cs_parser *p, void *data) { struct drm_radeon_cs *cs = data; uint64_t *chunk_array_ptr; - unsigned size, i; + u64 size; + unsigned i; u32 ring = RADEON_CS_RING_GFX; s32 priority = 0;
Am 19.04.23 um 14:20 schrieb hackyzh002:
The type of size is unsigned, if size is 0x40000000, there will be an integer overflow, size will be zero after size *= sizeof(uint32_t), will cause uninitialized memory to be referenced later
Signed-off-by: hackyzh002 hackyzh002@gmail.com
Reviewed-by: Christian König christian.koenig@amd.com for the series.
drivers/gpu/drm/radeon/radeon_cs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c index 46a27ebf4..a6700d727 100644 --- a/drivers/gpu/drm/radeon/radeon_cs.c +++ b/drivers/gpu/drm/radeon/radeon_cs.c @@ -270,7 +270,8 @@ int radeon_cs_parser_init(struct radeon_cs_parser *p, void *data) { struct drm_radeon_cs *cs = data; uint64_t *chunk_array_ptr;
- unsigned size, i;
- u64 size;
- unsigned i; u32 ring = RADEON_CS_RING_GFX; s32 priority = 0;
Applied. Thanks!
Alex
On Wed, Apr 19, 2023 at 8:24 AM Christian König christian.koenig@amd.com wrote:
Am 19.04.23 um 14:20 schrieb hackyzh002:
The type of size is unsigned, if size is 0x40000000, there will be an integer overflow, size will be zero after size *= sizeof(uint32_t), will cause uninitialized memory to be referenced later
Signed-off-by: hackyzh002 hackyzh002@gmail.com
Reviewed-by: Christian König christian.koenig@amd.com for the series.
drivers/gpu/drm/radeon/radeon_cs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c index 46a27ebf4..a6700d727 100644 --- a/drivers/gpu/drm/radeon/radeon_cs.c +++ b/drivers/gpu/drm/radeon/radeon_cs.c @@ -270,7 +270,8 @@ int radeon_cs_parser_init(struct radeon_cs_parser *p, void *data) { struct drm_radeon_cs *cs = data; uint64_t *chunk_array_ptr;
unsigned size, i;
u64 size;
unsigned i; u32 ring = RADEON_CS_RING_GFX; s32 priority = 0;
Hello,
What is the current status of this patch, has it been applied?
Alex Deucher alexdeucher@gmail.com 于2023年4月19日周三 21:49写道:
Applied. Thanks!
Alex
On Wed, Apr 19, 2023 at 8:24 AM Christian König christian.koenig@amd.com wrote:
Am 19.04.23 um 14:20 schrieb hackyzh002:
The type of size is unsigned, if size is 0x40000000, there will be an integer overflow, size will be zero after size *= sizeof(uint32_t), will cause uninitialized memory to be referenced later
Signed-off-by: hackyzh002 hackyzh002@gmail.com
Reviewed-by: Christian König christian.koenig@amd.com for the series.
drivers/gpu/drm/radeon/radeon_cs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c
b/drivers/gpu/drm/radeon/radeon_cs.c
index 46a27ebf4..a6700d727 100644 --- a/drivers/gpu/drm/radeon/radeon_cs.c +++ b/drivers/gpu/drm/radeon/radeon_cs.c @@ -270,7 +270,8 @@ int radeon_cs_parser_init(struct radeon_cs_parser
*p, void *data)
{ struct drm_radeon_cs *cs = data; uint64_t *chunk_array_ptr;
unsigned size, i;
u64 size;
unsigned i; u32 ring = RADEON_CS_RING_GFX; s32 priority = 0;
linaro-mm-sig@lists.linaro.org