In the Linux kernel, the following vulnerability has been resolved: drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers() The last case label can write two buffers 'mc_reg_address[j]' and 'mc_data[j]' with 'j' offset equal to SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE since there are no checks for this value in both case labels after the last 'j++'. Instead of changing '>' to '>=' there, add the bounds check at the start of the second 'case' (the first one already has it). Also, remove redundant last checks for 'j' index bigger than array size. The expression is always false. Moreover, before or after the patch 'table->last' can be equal to SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE and it seems it can be a valid value. Detected using the static analysis tool - Svace.
https://git.kernel.org/stable/c/ea73869df6ef386fc0feeb28ff66742ca835b18f
https://git.kernel.org/stable/c/deb603c5928e546609c0d5798e231d0205748943
https://git.kernel.org/stable/c/db1a9add3f90ff1c641974d5bb910c16b87af4ef
https://git.kernel.org/stable/c/9faff03617afeced1c4e5daa89e79b3906374342
https://git.kernel.org/stable/c/8508d6d23a247c29792ce2fc0df3f3404d6a6a80
https://git.kernel.org/stable/c/782e413e38dffd37cc85b08b1ccb982adb4a93ce
https://git.kernel.org/stable/c/1f341053852be76f82610ce47a505d930512f05c
https://git.kernel.org/stable/c/136f614931a2bb73616b292cf542da3a18daefd5