In the Linux kernel, the following vulnerability has been resolved:
drm/msm/a6xx: Allocate enough space for GMU registers
In commit 142639a52a01 ("drm/msm/a6xx: fix crashstate capture for A650") we changed a6xxgetgmu_registers() to read 3 sets of registers. Unfortunately, we didn't change the memory allocation for the array. That leads to a KASAN warning (this was on the chromeos-5.4 kernel, which has the problematic commit backported to it):
BUG: KASAN: slab-out-of-bounds in a6xxgetgmuregisters+0x144/0x430 Write of size 8 at addr ffffff80c89432b0 by task A618-worker/209 CPU: 5 PID: 209 Comm: A618-worker Tainted: G W 5.4.156-lockdep #22 Hardware name: Google Lazor Limozeen without Touchscreen (rev5 - rev8) (DT) Call trace: dumpbacktrace+0x0/0x248 showstack+0x20/0x2c dumpstack+0x128/0x1ec printaddress_description+0x88/0x4a0 __kasanreport+0xfc/0x120 kasanreport+0x10/0x18 __asanreportstore8noabort+0x1c/0x24 a6xxgetgmuregisters+0x144/0x430 a6xxgpustateget+0x330/0x25d4 msmgpucrashstatecapture+0xa0/0x84c recoverworker+0x328/0x838 kthreadworkerfn+0x32c/0x574 kthread+0x2dc/0x39c retfromfork+0x10/0x18
Allocated by task 209: __kasankmalloc+0xfc/0x1c4 kasankmalloc+0xc/0x14 kmemcachealloctrace+0x1f0/0x2a0 a6xxgpustateget+0x164/0x25d4 msmgpucrashstatecapture+0xa0/0x84c recoverworker+0x328/0x838 kthreadworkerfn+0x32c/0x574 kthread+0x2dc/0x39c retfromfork+0x10/0x18
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47535.json"
[
{
"events": [
{
"introduced": "5.9"
},
{
"fixed": "5.10.84"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.15.7"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc3"
}
]
}
]