Description
In the Linux kernel, the following vulnerability has been resolved: lib: cpu_rmap: Avoid use after free on rmap->obj array entries When calling irq_set_affinity_notifier() with NULL at the notify argument, it will cause freeing of the glue pointer in the corresponding array entry but will leave the pointer in the array. A subsequent call to free_irq_cpu_rmap() will try to free this entry again leading to possible use after free. Fix that by setting NULL to the array entry and checking that we have non-zero at the array entry when iterating over the array in free_irq_cpu_rmap(). The current code does not suffer from this since there are no cases where irq_set_affinity_notifier(irq, NULL) (note the NULL passed for the notify arg) is called, followed by a call to free_irq_cpu_rmap() so we don't hit and issue. Subsequent patches in this series excersize this flow, hence the required fix.
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
896f97ea95c1d29c0520ee0766b66b7f64cb967c to < 981f339d2905b6a92ef59358158b326493aecac5affected896f97ea95c1d29c0520ee0766b66b7f64cb967c to < d1308bd0b24cb1d78fa2747d5fa3e055cc628a48affected896f97ea95c1d29c0520ee0766b66b7f64cb967c to < cc2d2b3dbfb0ba57bc027fb7e1121250c50e4000affected896f97ea95c1d29c0520ee0766b66b7f64cb967c to < f748e15253833b771acbede14ea98f50831ac289affected896f97ea95c1d29c0520ee0766b66b7f64cb967c to < c6ed54dd90698dc0744d669524cc1c122ded8a16affected896f97ea95c1d29c0520ee0766b66b7f64cb967c to < c9115f49cf260d24d8b5f2d9a4b63cb31a627bb4affected896f97ea95c1d29c0520ee0766b66b7f64cb967c to < 67bca5f1d644f4e79b694abd8052a177de81c37faffected896f97ea95c1d29c0520ee0766b66b7f64cb967c to < 4e0473f1060aa49621d40a113afde24818101d37affected
Linux Linux
Default version status: affected
3.8affected0 to < 3.8unaffected4.14.316 to ≤ 4.14.*unaffected4.19.284 to ≤ 4.19.*unaffected5.4.244 to ≤ 5.4.*unaffected5.10.181 to ≤ 5.10.*unaffected5.15.113 to ≤ 5.15.*unaffected6.1.30 to ≤ 6.1.*unaffected6.3.4 to ≤ 6.3.*unaffected6.4 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/981f339d2905b6a92ef59358158b326493aecac5 ↗
- https://git.kernel.org/stable/c/d1308bd0b24cb1d78fa2747d5fa3e055cc628a48 ↗
- https://git.kernel.org/stable/c/cc2d2b3dbfb0ba57bc027fb7e1121250c50e4000 ↗
- https://git.kernel.org/stable/c/f748e15253833b771acbede14ea98f50831ac289 ↗
- https://git.kernel.org/stable/c/c6ed54dd90698dc0744d669524cc1c122ded8a16 ↗
- https://git.kernel.org/stable/c/c9115f49cf260d24d8b5f2d9a4b63cb31a627bb4 ↗
- https://git.kernel.org/stable/c/67bca5f1d644f4e79b694abd8052a177de81c37f ↗
- https://git.kernel.org/stable/c/4e0473f1060aa49621d40a113afde24818101d37 ↗