[PATCH 4/4 V2] drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc

Christian König christian.koenig at amd.com
Wed Apr 24 08:45:30 UTC 2024


Am 24.04.24 um 10:41 schrieb Jesse Zhang:
> Initialize the size before calling amdgpu_vce_cs_reloc, such as case 0x03000001.
> V2: To really improve the handling we would actually
>      need to have a separate value of 0xffffffff.(Christian)
>
> Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
> index 59acf424a078..1929de0db3a1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
> @@ -742,7 +742,7 @@ int amdgpu_vce_ring_parse_cs(struct amdgpu_cs_parser *p,
>   	uint32_t destroyed = 0;
>   	uint32_t created = 0;
>   	uint32_t allocated = 0;
> -	uint32_t tmp, handle = 0;
> +	uint32_t tmp = 0xffffffff, handle = 0;

That's close, but what I meant was to have something like this instead:

uint32_t dummy = 0xffffffff; *size = &dummy.

Because tmp is overwritten by user values while parsing the command stream.

Regards,
Christian.

>   	uint32_t *size = &tmp;
>   	unsigned int idx;
>   	int i, r = 0;



More information about the amd-gfx mailing list