Am 16.05.22 um 20:15 schrieb Alex Deucher:
On Mon, May 16, 2022 at 2:10 PM Christian König
<ckoenig.leichtzumer...@gmail.com> wrote:
Am 16.05.22 um 19:49 schrieb Ernst Sjöstrand:

Den mån 16 maj 2022 kl 17:13 skrev Alex Deucher <alexdeuc...@gmail.com>:
On Sun, May 15, 2022 at 11:46 AM Ernst Sjöstrand <ern...@gmail.com> wrote:
smatch found this problem on amd-staging-drm-next:

drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c:1443 amdgpu_discovery_get_vcn_info() 
error: buffer overflow 'adev->vcn.vcn_codec_disable_mask' 2 <= 3

This is caused by:
#define AMDGPU_MAX_VCN_INSTANCES 2
#define VCN_INFO_TABLE_MAX_NUM_INSTANCES 4

Can we just drop VCN_INFO_TABLE_MAX_NUM_INSTANCES completely and use 
AMDGPU_MAX_VCN_INSTANCES everywhere instead (and bump it to 4)?
We should be able to bump AMDGPU_MAX_VCN_INSTANCES to 4 (although it
would waste some memory in the places it is used at this point).
VCN_INFO_TABLE_MAX_NUM_INSTANCES is part of a firmware structure so we
can't change that without breaking the firmware structure.

Alex

It would be nice to get rid of this pattern and make sure it doesn't happen 
again when the VCN info table is raised to 5.
It's very similar to the HWIP_MAX_INSTANCE issue.


No, as Alex explained that distinction is intentional.

The firmware definition is 4 for future extensions, that doesn't mean that this 
is currently used.

There is currently simply no need to set AMDGPU_MAX_VCN_INSTANCES to more than 
2.
Right.  The attached patch should protect against the scenario you are
envisioning.

Acked-by: Christian König <christian.koe...@amd.com>


Alex

Regards,
Christian.


//E



Reply via email to