CVE-2023-54000
In the Linux kernel, the following vulnerability has been resolved: net: hns3: fix deadlock issue when externel_lb and reset are executed together When externel_lb and reset are executed together, a deadlock may occur: [ 3147.217009] INFO: task kworker/u321:0:7 blocked for more than 120 seconds. [ 3147.230483] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 3147.238999] task:kworker/u321:0 state:D stack: 0 pid: 7 ppid: 2 flags:0x00000008 [ 3147.248045] Workqueue: hclge hclge_service_task [hclge] [ 3147.253957] Call trace: [ 3147.257093] __switch_to+0x7c/0xbc [ 3147.261183] __schedule+0x338/0x6f0 [ 3147.265357] schedule+0x50/0xe0 [ 3147.269185] schedule_preempt_disabled+0x18/0x24 [ 3147.274488] __mutex_lock.constprop.0+0x1d4/0x5dc [ 3147.279880] __mutex_lock_slowpath+0x1c/0x30 [ 3147.284839] mutex_lock+0x50/0x60 [ 3147.288841] rtnl_lock+0x20/0x2c [ 3147.292759] hclge_reset_prepare+0x68/0x90 [hclge] [ 3147.298239] hclge_reset_subtask+0x88/0xe0 [hclge] [ 3147.303718] hclge_reset_service_task+0x84/0x120 [hclge] [ 3147.309718] hclge_service_task+0x2c/0x70 [hclge] [ 3147.315109] process_one_work+0x1d0/0x490 [ 3147.319805] worker_thread+0x158/0x3d0 [ 3147.324240] kthread+0x108/0x13c [ 3147.328154] ret_from_fork+0x10/0x18 In externel_lb process, the hns3 driver call napi_disable() first, then the reset happen, then the restore process of the externel_lb will fail, and will not call napi_enable(). When doing externel_lb again, napi_disable() will be double call, cause a deadlock of rtnl_lock(). This patch use the HNS3_NIC_STATE_DOWN state to protect the calling of napi_disable() and napi_enable() in externel_lb process, just as the usage in ndo_stop() and ndo_start().
Affected versions
Linux kernel versions
6.1
and later are affected. Fixed in
6.1.46,
6.4.11,
6.5
and their respective stable series.
References
The following references provide additional information about CVE-2023-54000 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
PatchKernel patch commithttps://git.kernel.org/stable/c/743f7c1762e098048ede8cdf8c89a118f8d12391
-
PatchKernel patch commithttps://git.kernel.org/stable/c/ac6257a3ae5db5193b1f19c268e4f72d274ddb88
-
PatchKernel patch commithttps://git.kernel.org/stable/c/d9f609cb50ebab4aa6341112f406bf9d3928ac81
Frequently asked questions
-
What is CVE-2023-54000?
CVE-2023-54000 is a unscored severity Linux kernel vulnerability . It affects Linux kernel versions from 6.1 onward and has been patched in 6.1.46, 6.4.11 and 6.5. CVE-2023-54000 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
Is there a patch available for CVE-2023-54000?
Yes — CVE-2023-54000 has been patched. Fixed versions include 6.1.46, 6.4.11 and 6.5. If you are running Linux kernel 6.1 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2023-54000 actively exploited?
No — CVE-2023-54000 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.