Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < ea73869df6ef386fc0feeb28ff66742ca835b18faffected69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < 1f341053852be76f82610ce47a505d930512f05caffected69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < db1a9add3f90ff1c641974d5bb910c16b87af4efaffected69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < 8508d6d23a247c29792ce2fc0df3f3404d6a6a80affected69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < deb603c5928e546609c0d5798e231d0205748943affected69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < 782e413e38dffd37cc85b08b1ccb982adb4a93ceaffected69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < 9faff03617afeced1c4e5daa89e79b3906374342affected69e0b57a91adca2e3eb56ed4db39ab90f3ae1043 to < 136f614931a2bb73616b292cf542da3a18daefd5affected
Linux Linux
Default version status: affected
3.11affected0 to < 3.11unaffected4.14.291 to ≤ 4.14.*unaffected4.19.256 to ≤ 4.19.*unaffected5.4.211 to ≤ 5.4.*unaffected5.10.137 to ≤ 5.10.*unaffected5.15.61 to ≤ 5.15.*unaffected5.18.18 to ≤ 5.18.*unaffected5.19.2 to ≤ 5.19.*unaffected6.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ea73869df6ef386fc0feeb28ff66742ca835b18f ↗
- https://git.kernel.org/stable/c/1f341053852be76f82610ce47a505d930512f05c ↗
- https://git.kernel.org/stable/c/db1a9add3f90ff1c641974d5bb910c16b87af4ef ↗
- https://git.kernel.org/stable/c/8508d6d23a247c29792ce2fc0df3f3404d6a6a80 ↗
- https://git.kernel.org/stable/c/deb603c5928e546609c0d5798e231d0205748943 ↗
- https://git.kernel.org/stable/c/782e413e38dffd37cc85b08b1ccb982adb4a93ce ↗
- https://git.kernel.org/stable/c/9faff03617afeced1c4e5daa89e79b3906374342 ↗
- https://git.kernel.org/stable/c/136f614931a2bb73616b292cf542da3a18daefd5 ↗