sched/fair:修复 reweight_entity 中的错误(CVE-2022-48921)
CVE编号
CVE-2022-48921利用情况
暂无补丁情况
N/A披露时间
2024-08-22漏洞描述
在Linux内核中,已经修复了以下问题:调度/公平调度问题:修复reweight_entity中的故障Syzbot在reweight_entity中发现了一个通用保护错误(GPF)。此问题已缩小至提交4ef0c5c6b5ba(“kernel/sched:修复sched_fork()访问无效sched_task_group”)在调度线程组内的sched_post_fork()和setpriority(PRIO_PGRP)之间存在竞态条件,这会导致CFS中的reweight_entity()出现空指针解引用。具体场景是主进程生成大量新线程,然后调用setpriority(PRIO_PGRP, 0, -20),等待并退出。对于每个新线程,都会调用copy_process(),这会增加新的task_struct并为其调用sched_post_fork()。在上述场景中,存在一种可能性,即在由copy_process()创建且尚未执行sched_post_fork()的线程组中,对setpriority(PRIO_PGRP)和set_one_prio()进行调用。这将触发reweight_entity()中的空指针解引用,因为它会尝试访问尚未设置的运行队列指针。在提到的更改之前,已在sched_fork()中为任务设置了cfs_rq指针,该函数在将新任务添加到线程组之前,在copy_process()的早期阶段被调用。现在,这一操作移至了sched_post_fork()中,在之后进行调用。为了解决这个问题,我们从update_load_param()函数中移除了update_load参数,并且仅在任务标志未设置TASK_NEW标志时调用reweight_task()。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论