CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. CNVD
  3. 正文

CVE-2024-53102丨nvme:使保持活动同步操作

2024年11月26日 682点热度 0人点赞 0条评论
nvme:使保持活动同步操作(CVE-2024-53102)

CVE编号

CVE-2024-53102

利用情况

暂无

补丁情况

N/A

披露时间

2024-11-26
漏洞描述
在Linux内核中,已经解决了一个关于nvme的漏洞:让保持活动状态的操作同步执行。nvme的保持活动状态操作会在一个周期性间隔内执行,可能会在关闭织物控制器时偷偷溜进执行。这可能导致在织物控制器管理队列销毁代码路径(在关闭控制器时调用)和由nvme保持活动状态异步请求排队操作调用的hw/hctx队列调度程序之间发生竞争。这种竞争可能导致出现如下内核崩溃:调用跟踪:在关闭织物控制器时,如果nvme保持活动状态的请求偷偷溜进来,那么它将被清除。然后会调用nvme_keep_alive_end_io函数来处理保持活动状态操作的结束,该函数会减少admin->q_usage_counter的值。假设这是管理队列中的最后一个/唯一的请求,那么admin->q_usage_counter的值就会变为零。如果发生这种情况,那么可能同时在另一个CPU上运行的blk-mq销毁队列操作(blk_mq_destroy_queue())会向前推进并删除管理队列。因此,从这一点开始,我们不应该再访问管理队列的资源。然而,问题在于nvme的保持活动状态的线程正在运行hw/hctx队列调度操作,它可能仍然会访问已经被删除的管理队列资源,这导致了上面的崩溃。这个修复通过使保持活动状态操作成为同步操作,避免了观察到的崩溃。在我们减少admin->q_usage_counter的值之前,会等待保持活动状态命令完成执行并返回命令状态给其调用者(blk_execute_rq())。这将确保在保持活动状态请求完成执行并且保持活动状态的线程不再运行hw/hctx队列调度操作之前,织物关闭代码路径不会销毁织物管理队列。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接
 https://git.kernel.org/stable/c/1a1bcca5c9efd2c72c8d2fcbadf2d673cceb2ea7
 https://git.kernel.org/stable/c/afa229465399f89d3af9d72ced865144c9748846
 https://git.kernel.org/stable/c/ccc1d82dfaad0ad27d21139da22e57add73d2a5e
 https://git.kernel.org/stable/c/d06923670b5a5f609603d4a9fee4dec02d38de9c
标签: 暂无
最后更新:2024年11月26日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me