In the Linux kernel, the following vulnerability has been resolved:
media: mxl111sf: change mutex_init() location
Syzbot reported, that mxl111sf_ctrl_msg() uses uninitialized mutex. The problem was in wrong mutex_init() location.
Previous mutex_init(&state->msg_lock) call was in ->init() function, but dvb_usbv2_init() has this order of calls:
dvb_usbv2_init()
dvb_usbv2_adapter_init()
dvb_usbv2_adapter_frontend_init()
props->frontend_attach()
props->init()
Since mxl111sf_* devices call mxl111sf_ctrl_msg() in ->frontend_attach() internally we need to initialize state->msg_lock before frontend_attach(). To achieve it, ->probe() call added to all mxl111sf_* devices, which will simply initiaize mutex.
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47583.json"
[
{
"events": [
{
"introduced": "3.7"
},
{
"fixed": "4.19.222"
}
]
},
{
"events": [
{
"introduced": "4.20"
},
{
"fixed": "5.4.168"
}
]
},
{
"events": [
{
"introduced": "5.5"
},
{
"fixed": "5.10.88"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.15.11"
}
]
}
]