In the Linux kernel, the following vulnerability has been resolved:
usb: cdns3: Put the cdns set active part outside the spin lock
The device may be scheduled during the resume process, so this cannot appear in atomic operations. Since pmruntimeset_active will resume suppliers, put set active outside the spin lock, which is only used to protect the struct cdns data structure, otherwise the kernel will report the following warning:
BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:1163 inatomic(): 1, irqsdisabled(): 0, nonblock: 0, pid: 651, name: sh preemptcount: 1, expected: 0 RCU nest depth: 0, expected: 0 CPU: 0 PID: 651 Comm: sh Tainted: G WC 6.1.20 #1 Hardware name: Freescale i.MX8QM MEK (DT) Call trace: dumpbacktrace.part.0+0xe0/0xf0 showstack+0x18/0x30 dumpstacklvl+0x64/0x80 dumpstack+0x1c/0x38 _mightresched+0x1fc/0x240 _mightsleep+0x68/0xc0 _pmruntimeresume+0x9c/0xe0 rpmgetsuppliers+0x68/0x1b0 _pmruntimesetstatus+0x298/0x560 cdnsresume+0xb0/0x1c0 cdns3controllerresume.isra.0+0x1e0/0x250 cdns3plat_resume+0x28/0x40
[
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"line_hashes": [
"106316350309104942074613648003009433154",
"61955425998672770339054394403172187856",
"183439513426161945462018343418706064940",
"46449837092374934879743950617423574798",
"325231106362972885202401554188411096898",
"240392056568320083173160333869685665479"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3f372ec95b89776f72d5c9a475424e27734c223",
"signature_type": "Line",
"id": "CVE-2023-53287-04d642db"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.h"
},
"digest": {
"line_hashes": [
"211114657826700954761359614639129413609",
"171657732877500671869893664346842554392",
"200904220727953603031574837903855848590",
"290198547290701521304302532835584715877",
"15927746746639860674047332356724897824",
"64534974687262558137755865380537194098",
"255503956861219611071954978001832838126"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c861a61be6d30538ebcf7fcab1d43f244e298840",
"signature_type": "Line",
"id": "CVE-2023-53287-0bd6662a"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"line_hashes": [
"246297851103985189463483440189721234296",
"135862787292630256400793292244534724296",
"74272649583959836421183804307741687368",
"220833636533572580970295896335738133405",
"302387941943544020321535073271439252261",
"115068607868307842155190327651872587505",
"102591699655517175813468311135038426717",
"42551537498626429253374705263648832430",
"264944536060709218255392947495554608884",
"10705133072552705695177571946833017305",
"69466411724937641320693588705122631482",
"242203737535046636969781717435005560138",
"206364734206862417954423959951392979729",
"335277987783575843163880535786939222596",
"174177648054830609913926462841374337655",
"290017733575911947580307418364639504251",
"12586103359540613391608860334161662417"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2319b9c87fe243327285f2fefd7374ffd75a65fc",
"signature_type": "Line",
"id": "CVE-2023-53287-0c4a0299"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdnsp_pci_resume",
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"function_hash": "8178001212728394880273107695727288591",
"length": 223.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbc9c3652708108738009e096d608ece3cd9fa8a",
"signature_type": "Function",
"id": "CVE-2023-53287-18e7224b"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns3_controller_resume",
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"function_hash": "318030651935424883922144929730134680882",
"length": 764.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbc9c3652708108738009e096d608ece3cd9fa8a",
"signature_type": "Function",
"id": "CVE-2023-53287-1fd85286"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns_resume",
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"function_hash": "271174239635982722618356670420698118645",
"length": 754.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c861a61be6d30538ebcf7fcab1d43f244e298840",
"signature_type": "Function",
"id": "CVE-2023-53287-2a88c9f6"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"line_hashes": [
"106316350309104942074613648003009433154",
"61955425998672770339054394403172187856",
"183439513426161945462018343418706064940",
"46449837092374934879743950617423574798",
"325231106362972885202401554188411096898",
"240392056568320083173160333869685665479"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c861a61be6d30538ebcf7fcab1d43f244e298840",
"signature_type": "Line",
"id": "CVE-2023-53287-31d5cf22"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"line_hashes": [
"246297851103985189463483440189721234296",
"135862787292630256400793292244534724296",
"74272649583959836421183804307741687368",
"220833636533572580970295896335738133405",
"302387941943544020321535073271439252261",
"115068607868307842155190327651872587505",
"102591699655517175813468311135038426717",
"42551537498626429253374705263648832430",
"264944536060709218255392947495554608884",
"10705133072552705695177571946833017305",
"69466411724937641320693588705122631482",
"242203737535046636969781717435005560138",
"206364734206862417954423959951392979729",
"335277987783575843163880535786939222596",
"174177648054830609913926462841374337655",
"290017733575911947580307418364639504251",
"12586103359540613391608860334161662417"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbc9c3652708108738009e096d608ece3cd9fa8a",
"signature_type": "Line",
"id": "CVE-2023-53287-3924696b"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.h"
},
"digest": {
"line_hashes": [
"211114657826700954761359614639129413609",
"171657732877500671869893664346842554392",
"200904220727953603031574837903855848590",
"290198547290701521304302532835584715877",
"15927746746639860674047332356724897824",
"64534974687262558137755865380537194098",
"255503956861219611071954978001832838126"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3f372ec95b89776f72d5c9a475424e27734c223",
"signature_type": "Line",
"id": "CVE-2023-53287-3b4cbc61"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdnsp_pci_resume",
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"function_hash": "8178001212728394880273107695727288591",
"length": 223.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c861a61be6d30538ebcf7fcab1d43f244e298840",
"signature_type": "Function",
"id": "CVE-2023-53287-3ce114ac"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"line_hashes": [
"246297851103985189463483440189721234296",
"135862787292630256400793292244534724296",
"74272649583959836421183804307741687368",
"220833636533572580970295896335738133405",
"302387941943544020321535073271439252261",
"115068607868307842155190327651872587505",
"102591699655517175813468311135038426717",
"42551537498626429253374705263648832430",
"264944536060709218255392947495554608884",
"10705133072552705695177571946833017305",
"69466411724937641320693588705122631482",
"242203737535046636969781717435005560138",
"206364734206862417954423959951392979729",
"335277987783575843163880535786939222596",
"174177648054830609913926462841374337655",
"290017733575911947580307418364639504251",
"12586103359540613391608860334161662417"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c861a61be6d30538ebcf7fcab1d43f244e298840",
"signature_type": "Line",
"id": "CVE-2023-53287-3e39393c"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdnsp_pci_resume",
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"function_hash": "8178001212728394880273107695727288591",
"length": 223.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3f372ec95b89776f72d5c9a475424e27734c223",
"signature_type": "Function",
"id": "CVE-2023-53287-48b85767"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"line_hashes": [
"16041594099276548586967382576157321704",
"199773721176871265691047390380779491222",
"226693954020343576669584504497670649112",
"255492099563350115037151028793943938",
"92121491510845897424068852253681542907"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3f372ec95b89776f72d5c9a475424e27734c223",
"signature_type": "Line",
"id": "CVE-2023-53287-4bbe363a"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns_resume",
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"function_hash": "271174239635982722618356670420698118645",
"length": 754.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3f372ec95b89776f72d5c9a475424e27734c223",
"signature_type": "Function",
"id": "CVE-2023-53287-506ad391"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"line_hashes": [
"16041594099276548586967382576157321704",
"199773721176871265691047390380779491222",
"226693954020343576669584504497670649112",
"255492099563350115037151028793943938",
"92121491510845897424068852253681542907"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c861a61be6d30538ebcf7fcab1d43f244e298840",
"signature_type": "Line",
"id": "CVE-2023-53287-539793bd"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns3_controller_resume",
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"function_hash": "318030651935424883922144929730134680882",
"length": 764.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3f372ec95b89776f72d5c9a475424e27734c223",
"signature_type": "Function",
"id": "CVE-2023-53287-702e3842"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns_resume",
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"function_hash": "271174239635982722618356670420698118645",
"length": 754.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbc9c3652708108738009e096d608ece3cd9fa8a",
"signature_type": "Function",
"id": "CVE-2023-53287-81e4d547"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"line_hashes": [
"246297851103985189463483440189721234296",
"135862787292630256400793292244534724296",
"74272649583959836421183804307741687368",
"220833636533572580970295896335738133405",
"302387941943544020321535073271439252261",
"115068607868307842155190327651872587505",
"102591699655517175813468311135038426717",
"42551537498626429253374705263648832430",
"264944536060709218255392947495554608884",
"10705133072552705695177571946833017305",
"69466411724937641320693588705122631482",
"242203737535046636969781717435005560138",
"206364734206862417954423959951392979729",
"335277987783575843163880535786939222596",
"174177648054830609913926462841374337655",
"290017733575911947580307418364639504251",
"12586103359540613391608860334161662417"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3f372ec95b89776f72d5c9a475424e27734c223",
"signature_type": "Line",
"id": "CVE-2023-53287-8f3cdac1"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"line_hashes": [
"106316350309104942074613648003009433154",
"61955425998672770339054394403172187856",
"183439513426161945462018343418706064940",
"46449837092374934879743950617423574798",
"325231106362972885202401554188411096898",
"240392056568320083173160333869685665479"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2319b9c87fe243327285f2fefd7374ffd75a65fc",
"signature_type": "Line",
"id": "CVE-2023-53287-94a05870"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"line_hashes": [
"16041594099276548586967382576157321704",
"199773721176871265691047390380779491222",
"226693954020343576669584504497670649112",
"255492099563350115037151028793943938",
"92121491510845897424068852253681542907"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2319b9c87fe243327285f2fefd7374ffd75a65fc",
"signature_type": "Line",
"id": "CVE-2023-53287-99b824cd"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"line_hashes": [
"16041594099276548586967382576157321704",
"199773721176871265691047390380779491222",
"226693954020343576669584504497670649112",
"255492099563350115037151028793943938",
"92121491510845897424068852253681542907"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbc9c3652708108738009e096d608ece3cd9fa8a",
"signature_type": "Line",
"id": "CVE-2023-53287-b31782c9"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.h"
},
"digest": {
"line_hashes": [
"211114657826700954761359614639129413609",
"171657732877500671869893664346842554392",
"200904220727953603031574837903855848590",
"290198547290701521304302532835584715877",
"15927746746639860674047332356724897824",
"64534974687262558137755865380537194098",
"255503956861219611071954978001832838126"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbc9c3652708108738009e096d608ece3cd9fa8a",
"signature_type": "Line",
"id": "CVE-2023-53287-c7c72d35"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"line_hashes": [
"106316350309104942074613648003009433154",
"61955425998672770339054394403172187856",
"183439513426161945462018343418706064940",
"46449837092374934879743950617423574798",
"325231106362972885202401554188411096898",
"240392056568320083173160333869685665479"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bbc9c3652708108738009e096d608ece3cd9fa8a",
"signature_type": "Line",
"id": "CVE-2023-53287-de55acb0"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdnsp_pci_resume",
"file": "drivers/usb/cdns3/cdnsp-pci.c"
},
"digest": {
"function_hash": "8178001212728394880273107695727288591",
"length": 223.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2319b9c87fe243327285f2fefd7374ffd75a65fc",
"signature_type": "Function",
"id": "CVE-2023-53287-eed424c6"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/usb/cdns3/core.h"
},
"digest": {
"line_hashes": [
"211114657826700954761359614639129413609",
"171657732877500671869893664346842554392",
"200904220727953603031574837903855848590",
"290198547290701521304302532835584715877",
"15927746746639860674047332356724897824",
"64534974687262558137755865380537194098",
"255503956861219611071954978001832838126"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2319b9c87fe243327285f2fefd7374ffd75a65fc",
"signature_type": "Line",
"id": "CVE-2023-53287-f1413ccf"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns3_controller_resume",
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"function_hash": "318030651935424883922144929730134680882",
"length": 764.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2319b9c87fe243327285f2fefd7374ffd75a65fc",
"signature_type": "Function",
"id": "CVE-2023-53287-f36b1833"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns_resume",
"file": "drivers/usb/cdns3/core.c"
},
"digest": {
"function_hash": "271174239635982722618356670420698118645",
"length": 754.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2319b9c87fe243327285f2fefd7374ffd75a65fc",
"signature_type": "Function",
"id": "CVE-2023-53287-f3c21564"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "cdns3_controller_resume",
"file": "drivers/usb/cdns3/cdns3-plat.c"
},
"digest": {
"function_hash": "318030651935424883922144929730134680882",
"length": 764.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c861a61be6d30538ebcf7fcab1d43f244e298840",
"signature_type": "Function",
"id": "CVE-2023-53287-f53ad5dc"
}
]