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.
[ { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@be5e816d00a506719e9dbb1a9c861c5ced30a109", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "151827515831485325438898965682681759564", "121460760982770507887350328426325713000", "182507917545618123254337840434660216521" ] }, "id": "CVE-2024-44995-10dce4f5" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67492d4d105c0a6321b00c393eec96b9a7a97a16", "signature_version": "v1", "target": { "function": "hns3_reset_notify_uninit_enet", "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "function_hash": "244084626494472881864746337904299583385", "length": 539.0 }, "id": "CVE-2024-44995-1558a156" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ae2b7d63cd056f363045eb65409143e16f23ae8", "signature_version": "v1", "target": { "function": "hns3_reset_notify_uninit_enet", "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "function_hash": "27015317132736350200142736775404229522", "length": 421.0 }, "id": "CVE-2024-44995-2e3d5209" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fa1d4de7265c370e673583ac8d1bd17d21826cd9", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "151827515831485325438898965682681759564", "121460760982770507887350328426325713000", "182507917545618123254337840434660216521" ] }, "id": "CVE-2024-44995-2ed52ab6" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@be5e816d00a506719e9dbb1a9c861c5ced30a109", "signature_version": "v1", "target": { "function": "hns3_reset_notify_uninit_enet", "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "function_hash": "27015317132736350200142736775404229522", "length": 421.0 }, "id": "CVE-2024-44995-32681ac3" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67492d4d105c0a6321b00c393eec96b9a7a97a16", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "327272368478820036236258993526351757955", "125607124816799816021728889406473557146", "119170362259899291194611895731034308602" ] }, "id": "CVE-2024-44995-4eadb4d2" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@195918217448a6bb7f929d6a2ffffce9f1ece1cc", "signature_version": "v1", "target": { "function": "hns3_reset_notify_uninit_enet", "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "function_hash": "27015317132736350200142736775404229522", "length": 421.0 }, "id": "CVE-2024-44995-766d7493" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@195918217448a6bb7f929d6a2ffffce9f1ece1cc", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "151827515831485325438898965682681759564", "121460760982770507887350328426325713000", "182507917545618123254337840434660216521" ] }, "id": "CVE-2024-44995-8b707d44" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc250eca15bde34c4c8f806b9d88f55bd56a992c", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "327272368478820036236258993526351757955", "125607124816799816021728889406473557146", "119170362259899291194611895731034308602" ] }, "id": "CVE-2024-44995-8fb113cf" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6ae2b7d63cd056f363045eb65409143e16f23ae8", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "151827515831485325438898965682681759564", "121460760982770507887350328426325713000", "182507917545618123254337840434660216521" ] }, "id": "CVE-2024-44995-957df02f" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fc250eca15bde34c4c8f806b9d88f55bd56a992c", "signature_version": "v1", "target": { "function": "hns3_reset_notify_uninit_enet", "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "function_hash": "46703648564159193409410913779575174030", "length": 514.0 }, "id": "CVE-2024-44995-a43a53ec" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de37408d5c26fc4a296a28a0c96dcb814219bfa1", "signature_version": "v1", "target": { "function": "hns3_reset_notify_uninit_enet", "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "function_hash": "27015317132736350200142736775404229522", "length": 421.0 }, "id": "CVE-2024-44995-ace5e430" }, { "signature_type": "Line", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@de37408d5c26fc4a296a28a0c96dcb814219bfa1", "signature_version": "v1", "target": { "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "151827515831485325438898965682681759564", "121460760982770507887350328426325713000", "182507917545618123254337840434660216521" ] }, "id": "CVE-2024-44995-d2ba2aab" }, { "signature_type": "Function", "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fa1d4de7265c370e673583ac8d1bd17d21826cd9", "signature_version": "v1", "target": { "function": "hns3_reset_notify_uninit_enet", "file": "drivers/net/ethernet/hisilicon/hns3/hns3_enet.c" }, "digest": { "function_hash": "27015317132736350200142736775404229522", "length": 421.0 }, "id": "CVE-2024-44995-eaa84365" } ]