从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 漏洞名称:net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT - 漏洞描述:在qdisc_tree_reduce_backlog函数中,假设qdiscs的major handle为ffff时,要么是根节点,要么是入口。这个假设是错误的,因为可以创建具有重大处理的egress qdiscs。 - 漏洞原因:Budimir Markovic发现,对于像DRR这样的qdiscs,如果维护了一个活跃的class list,它会导致一个UAF(未初始化的指针)。 2. 修复措施: - 修复代码:在066a3b5b2346中,修复了避免遍历入口qdisc,因为其父节点是它自己。修复措施是停止当父节点TC_H_ROOT时,因为唯一获取入口的方法是在不包含ffff: major handle的层次中调用qdisc_lookup与TC_H_ROOT。 - 修复代码位置:net/sched/sch_api.c文件中。 3. 修复历史: - 报告人:Budimir Markovic - 建议人:Jamal Hadi Salim - 测试人:Victor Nogueira - 签署人:Pedro Tammela和Jamal Hadi Salim 4. 代码变更: - 文件:net/sched/sch_api.c - 变更内容:2行代码更改,1行插入,1行删除。 5. 审查: - 审查人:Simon Horn、Jakub Kicinski和Sasha Levin 6. 链接: - 链接:https://patch.msysid.link/20241024165547.418570-1-jhs@mojatatu.com 这些信息详细描述了漏洞的背景、修复措施、代码变更和审查过程,有助于理解漏洞的性质和修复过程。