In the Linux kernel, the following vulnerability has been resolved:
net: hns3: fix a deadlock problem when config TC during resetting
When config TC during the reset process, may cause a deadlock, the flow is as below: pf reset start │ ▼ ...... setup tc │ │ ▼ ▼ DOWN: napidisable() napidisable()(skip) │ │ │ ▼ ▼ ...... ...... │ │ ▼ │ napienable() │ ▼ UINIT: netifnapidel() │ ▼ ...... │ ▼ INIT: netifnapiadd() │ ▼ ...... global reset start │ │ ▼ ▼ UP: napienable()(skip) ...... │ │ ▼ ▼ ...... napi_disable()
In reset process, the driver will DOWN the port and then UINIT, in this case, the setup tc process will UP the port before UINIT, so cause the problem. Adds a DOWN process in UINIT to fix it.
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151827515831485325438898965682681759564",
"121460760982770507887350328426325713000",
"182507917545618123254337840434660216521"
]
},
"id": "CVE-2024-44995-10dce4f5",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@be5e816d00a506719e9dbb1a9c861c5ced30a109",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "244084626494472881864746337904299583385",
"length": 539.0
},
"id": "CVE-2024-44995-1558a156",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67492d4d105c0a6321b00c393eec96b9a7a97a16",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c",
"function": "hns3_reset_notify_uninit_enet"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "27015317132736350200142736775404229522",
"length": 421.0
},
"id": "CVE-2024-44995-2e3d5209",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ae2b7d63cd056f363045eb65409143e16f23ae8",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c",
"function": "hns3_reset_notify_uninit_enet"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151827515831485325438898965682681759564",
"121460760982770507887350328426325713000",
"182507917545618123254337840434660216521"
]
},
"id": "CVE-2024-44995-2ed52ab6",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fa1d4de7265c370e673583ac8d1bd17d21826cd9",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "27015317132736350200142736775404229522",
"length": 421.0
},
"id": "CVE-2024-44995-32681ac3",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@be5e816d00a506719e9dbb1a9c861c5ced30a109",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c",
"function": "hns3_reset_notify_uninit_enet"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"327272368478820036236258993526351757955",
"125607124816799816021728889406473557146",
"119170362259899291194611895731034308602"
]
},
"id": "CVE-2024-44995-4eadb4d2",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67492d4d105c0a6321b00c393eec96b9a7a97a16",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "27015317132736350200142736775404229522",
"length": 421.0
},
"id": "CVE-2024-44995-766d7493",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@195918217448a6bb7f929d6a2ffffce9f1ece1cc",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c",
"function": "hns3_reset_notify_uninit_enet"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151827515831485325438898965682681759564",
"121460760982770507887350328426325713000",
"182507917545618123254337840434660216521"
]
},
"id": "CVE-2024-44995-8b707d44",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@195918217448a6bb7f929d6a2ffffce9f1ece1cc",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"327272368478820036236258993526351757955",
"125607124816799816021728889406473557146",
"119170362259899291194611895731034308602"
]
},
"id": "CVE-2024-44995-8fb113cf",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc250eca15bde34c4c8f806b9d88f55bd56a992c",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151827515831485325438898965682681759564",
"121460760982770507887350328426325713000",
"182507917545618123254337840434660216521"
]
},
"id": "CVE-2024-44995-957df02f",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ae2b7d63cd056f363045eb65409143e16f23ae8",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "46703648564159193409410913779575174030",
"length": 514.0
},
"id": "CVE-2024-44995-a43a53ec",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc250eca15bde34c4c8f806b9d88f55bd56a992c",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c",
"function": "hns3_reset_notify_uninit_enet"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "27015317132736350200142736775404229522",
"length": 421.0
},
"id": "CVE-2024-44995-ace5e430",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de37408d5c26fc4a296a28a0c96dcb814219bfa1",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c",
"function": "hns3_reset_notify_uninit_enet"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"151827515831485325438898965682681759564",
"121460760982770507887350328426325713000",
"182507917545618123254337840434660216521"
]
},
"id": "CVE-2024-44995-d2ba2aab",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de37408d5c26fc4a296a28a0c96dcb814219bfa1",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "27015317132736350200142736775404229522",
"length": 421.0
},
"id": "CVE-2024-44995-eaa84365",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fa1d4de7265c370e673583ac8d1bd17d21826cd9",
"target": {
"file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c",
"function": "hns3_reset_notify_uninit_enet"
}
}
]