In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Implement bounds check for stream encoder creation in DCN301
'streamencregs' array is an array of dcn10streamencregisters structures. The array is initialized with four elements, corresponding to the four calls to streamenc_regs() in the array initializer. This means that valid indices for this array are 0, 1, 2, and 3.
The error message 'streamencregs' 4 <= 5 below, is indicating that there is an attempt to access this array with an index of 5, which is out of bounds. This could lead to undefined behavior
Here, engid is used as an index to access the streamencregs array. If engid is 5, this would result in an out-of-bounds access on the streamencregs array.
Thus fixing Buffer overflow error in dcn301streamencodercreate reported by Smatch: drivers/gpu/drm/amd/amdgpu/../display/dc/resource/dcn301/dcn301resource.c:1011 dcn301streamencodercreate() error: buffer overflow 'streamenc_regs' 4 <= 5