漏洞描述:在 函数中,当进程退出时,如果任务在退出处理期间有一个执行过 和 的任务,可能会触发 。问题的原因是在任务中断时,采样缓冲区的 VMA 未解除映射,但后续外部任务会对该 进行最终的 ,从而导致 在 中被触发。 触发条件: - 任务在其采样缓冲区未解除映射之前被中断。 - 其他进程访问其 。 修复方案: - 维护一个活跃的性能监控任务及其 的列表。 - 通过 在任务退出时定位到 ,并解除采样缓冲区的 VMA 映射。 - 在 执行时,如果 不为零,使用 确保任务的 未被解除映射。 代码更改: - 修改 ,添加对 的检查。 - 添加 结构和 , , 等函数,用于记录和管理任务的 。 - 在 中,通过 而非 去执行 。