从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题:在kthread_unpark函数中,如果kthread不是parked状态,那么唤醒操作是无效的,因为目标任务不在TASK_PARKED状态。 - 影响:如果kthread是per-CPU的,唤醒操作会触发kthread_bind函数,该函数期望任务处于inactive状态和TASK_PARKED状态,这在kthread未parked时是不成立的。 2. 修复措施: - 解决方案:在kthread_stop函数中,应跳过不必要的parking操作,以避免触发警告。 - 代码更改: 这段代码检查kthread的flags标志位,如果未设置KTHREAD_SHOULD_PARK标志,则返回,避免不必要的parking操作。 3. 补丁链接: - 链接:https://lkml.kernel.org/r/20240913214634.12557-1-frederic@kernel.org 4. 相关链接: - 工作队列:https://lkml.kernel.org/r/20240913214634.12557-1-frederic@kernel.org - 工作队列:Tag bound workers with KTHREAD_IS_PER_CPU:https://lkml.kernel.org/r/20240913214634.12557-1-frederic@kernel.org 5. 作者和贡献者: - 提交者:Frederic Weisbecker - 贡献者:Andrew Morton - 报告者:syzbot+943d34fa3cf2191e3068@syzkaller.appspotmail.com - 测试者:syzbot+943d34fa3cf2191e3068@syzkaller.appspotmail.com - 建议者:Thomas Gleixner 6. 补丁状态: - 状态:已修复 - 补丁类型:修复补丁 这些信息可以帮助理解漏洞的背景、影响、修复措施以及相关的上下文信息。