In the Linux kernel, the following vulnerability has been resolved:
net: fec: remove .ndopollcontroller to avoid deadlocks
There is a deadlock issue found in sungem driver, please refer to the commit ac0a230f719b ("eth: sungem: remove .ndopollcontroller to avoid deadlocks"). The root cause of the issue is that netpoll is in atomic context and disableirq() is called by .ndopollcontroller interface of sungem driver, however, disableirq() might sleep. After analyzing the implementation of fecpollcontroller(), the fec driver should have the same issue. Due to the fec driver uses NAPI for TX completions, the .ndopollcontroller is unnecessary to be implemented in the fec driver, so fecpollcontroller() can be safely removed.
[
{
"digest": {
"function_hash": "210928747527410478741827352968879849152",
"length": 283.0
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d38625f71950e79e254515c5fc585552dad4b33e",
"id": "CVE-2024-38553-3382002c",
"signature_type": "Function",
"target": {
"function": "fec_poll_controller",
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"239847696138395764863103645728946565909",
"200606324360025589264290390947302033912",
"111303894666782082303713906456785483776",
"245223105688115698717577677328906892918",
"24774928969520177962646021930570746273",
"88310235216372877542628340714938847143",
"96127662025664072104269179929848434428",
"311522819064007404171026124548050954524",
"218475107719345927371663905823800886482",
"31643943974306781141405003571974979765",
"6809864311841442892745509771026496005",
"97377793562486168982164829853780135895",
"135599455213389080458785729965043804149",
"305407463024304548130196606906410878762",
"177563687423537477295469681243558296849",
"21936839618381655471636694997235342269",
"182659648776023830269100883108757703301",
"277505187815358422277194484141373092835",
"38967531273469778437361751007133418072",
"104580660801772443271311356734458411255",
"95296627089407185390716144864428735488",
"242882688358575249252773297758888277182",
"95555851513389660843802382939185055353"
]
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d38625f71950e79e254515c5fc585552dad4b33e",
"id": "CVE-2024-38553-40e236fe",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"239847696138395764863103645728946565909",
"200606324360025589264290390947302033912",
"111303894666782082303713906456785483776",
"245223105688115698717577677328906892918",
"24774928969520177962646021930570746273",
"88310235216372877542628340714938847143",
"96127662025664072104269179929848434428",
"311522819064007404171026124548050954524",
"218475107719345927371663905823800886482",
"31643943974306781141405003571974979765",
"6809864311841442892745509771026496005",
"97377793562486168982164829853780135895",
"135599455213389080458785729965043804149",
"305407463024304548130196606906410878762",
"177563687423537477295469681243558296849",
"21936839618381655471636694997235342269",
"182659648776023830269100883108757703301",
"277505187815358422277194484141373092835",
"38967531273469778437361751007133418072",
"104580660801772443271311356734458411255",
"95296627089407185390716144864428735488",
"242882688358575249252773297758888277182",
"95555851513389660843802382939185055353"
]
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87bcbc9b7e0b43a69d44efa5f32f11e32d08fa6f",
"id": "CVE-2024-38553-501236b5",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"function_hash": "210928747527410478741827352968879849152",
"length": 283.0
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2e0c58b25a0a0c37ec643255558c5af4450c9f5",
"id": "CVE-2024-38553-58bcd685",
"signature_type": "Function",
"target": {
"function": "fec_poll_controller",
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"239847696138395764863103645728946565909",
"200606324360025589264290390947302033912",
"111303894666782082303713906456785483776",
"245223105688115698717577677328906892918",
"24774928969520177962646021930570746273",
"88310235216372877542628340714938847143",
"96127662025664072104269179929848434428",
"311522819064007404171026124548050954524",
"218475107719345927371663905823800886482",
"31643943974306781141405003571974979765",
"6809864311841442892745509771026496005",
"97377793562486168982164829853780135895",
"135599455213389080458785729965043804149",
"305407463024304548130196606906410878762",
"177563687423537477295469681243558296849",
"21936839618381655471636694997235342269",
"182659648776023830269100883108757703301",
"277505187815358422277194484141373092835",
"38967531273469778437361751007133418072",
"104580660801772443271311356734458411255",
"95296627089407185390716144864428735488",
"242882688358575249252773297758888277182",
"95555851513389660843802382939185055353"
]
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2e0c58b25a0a0c37ec643255558c5af4450c9f5",
"id": "CVE-2024-38553-7400e9fc",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"function_hash": "210928747527410478741827352968879849152",
"length": 283.0
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e2348d8c61d03feece1de4c05f72e6e99f74c650",
"id": "CVE-2024-38553-89dee05d",
"signature_type": "Function",
"target": {
"function": "fec_poll_controller",
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"239847696138395764863103645728946565909",
"200606324360025589264290390947302033912",
"111303894666782082303713906456785483776",
"245223105688115698717577677328906892918",
"24774928969520177962646021930570746273",
"88310235216372877542628340714938847143",
"96127662025664072104269179929848434428",
"311522819064007404171026124548050954524",
"218475107719345927371663905823800886482",
"31643943974306781141405003571974979765",
"6809864311841442892745509771026496005",
"97377793562486168982164829853780135895",
"135599455213389080458785729965043804149",
"305407463024304548130196606906410878762",
"177563687423537477295469681243558296849",
"21936839618381655471636694997235342269",
"182659648776023830269100883108757703301",
"105219271385546054935136784664004749077",
"315927970638681440365660630105392811768",
"27104880564990347713542521430798278508",
"95296627089407185390716144864428735488",
"296258840493780154692482322813989585274",
"59629055836939281356576283246550875648"
]
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e2348d8c61d03feece1de4c05f72e6e99f74c650",
"id": "CVE-2024-38553-ad08393f",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"function_hash": "210928747527410478741827352968879849152",
"length": 283.0
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87bcbc9b7e0b43a69d44efa5f32f11e32d08fa6f",
"id": "CVE-2024-38553-b78ccaf8",
"signature_type": "Function",
"target": {
"function": "fec_poll_controller",
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"239847696138395764863103645728946565909",
"200606324360025589264290390947302033912",
"111303894666782082303713906456785483776",
"245223105688115698717577677328906892918",
"24774928969520177962646021930570746273",
"88310235216372877542628340714938847143",
"96127662025664072104269179929848434428",
"311522819064007404171026124548050954524",
"218475107719345927371663905823800886482",
"31643943974306781141405003571974979765",
"6809864311841442892745509771026496005",
"97377793562486168982164829853780135895",
"135599455213389080458785729965043804149",
"305407463024304548130196606906410878762",
"177563687423537477295469681243558296849",
"21936839618381655471636694997235342269",
"182659648776023830269100883108757703301",
"277505187815358422277194484141373092835",
"38967531273469778437361751007133418072",
"104580660801772443271311356734458411255",
"95296627089407185390716144864428735488",
"242882688358575249252773297758888277182",
"95555851513389660843802382939185055353"
]
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@accdd6b912c4219b8e056d1f1ad2e85bc66ee243",
"id": "CVE-2024-38553-d75b8ecc",
"signature_type": "Line",
"target": {
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
},
{
"digest": {
"function_hash": "210928747527410478741827352968879849152",
"length": 283.0
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@accdd6b912c4219b8e056d1f1ad2e85bc66ee243",
"id": "CVE-2024-38553-de01c2db",
"signature_type": "Function",
"target": {
"function": "fec_poll_controller",
"file": "drivers/net/ethernet/freescale/fec_main.c"
}
}
]