已关闭
【Bug扫描整改】3处真实缺陷已修复(bandwidth_test截断/空指针、mc2_context越界),BUG-029/030核实为误报 #5497
景明创建于 23 天前关闭于 23 天前
游震
23 天前 评论:
23 天前 评论:
/assign @gitcode_lijd


23 天前 将 gitcode_lijd 设为负责人
23 天前 修改标题为 “【Bug扫描整改】3处host侧校验缺失已修复,BUG-029/030核实为误报”,原标题为“【Bug扫描整改】修复host侧防御性校验缺失5处(除零/数组越界/整数溢出/空指针)”
23 天前 修改标题为 “【Bug扫描整改】3处host侧校验缺失已修复,BUG-029/030核实为误报”,原标题为“【Bug扫描整改】修复host侧防御性校验缺失5处(除零/数组越界/整数溢出/空指针)”
23 天前 修改了issue 的描述
23 天前 修改标题为 “【Bug扫描整改】3处真实缺陷已修复(bandwidth_test截断/空指针、mc2_context越界),BUG-029/030核实为误报”,原标题为“【Bug扫描整改】3处host侧校验缺失已修复,BUG-029/030核实为误报”
23 天前 修改标题为 “【Bug扫描整改】3处真实缺陷已修复(bandwidth_test截断/空指针、mc2_context越界),BUG-029/030核实为误报”,原标题为“【Bug扫描整改】3处host侧校验缺失已修复,BUG-029/030核实为误报”
23 天前 修改了issue 的描述
23 天前 关联了pull request:[Backport-9.2.0] fix(mc2): 修复bandwidth_test拷贝长度截断与可选属性空指针、mc2_context rankSize越界防护
23 天前 关联了pull request:[Backport-9.2.0] fix(mc2): 修复bandwidth_test拷贝长度截断与可选属性空指针、mc2_context rankSize越界防护
23 天前 关闭了 issue
23 天前 添加了label:resolved
背景
深度代理扫描(A5/DV120,2026-09-14)发现的 host 侧问题。经逐项严格复核(含对扫描器
OP_TILING_CHECK宏方向误读风险的排查):3 处为真实问题已修复,2 处为扫描误报(不修改代码)。问题清单与复核结论
epRankSize_ <= HCCL_MAX_RANK_SIZE校验BUG-029/030 误报依据
扫描器将
OP_TILING_CHECK((*sharedExpertRankNumPtr != 0), ..., "0")误读为"非零校验"。实际宏语义(op_tiling_util.h 定义)为条件为真即报错,该检查含义是 sharedExpertRankNum 必须为 0(非 0 即拒绝)。证据链:OP_TILING_CHECK(cond, log, expr)在 cond 为真时执行报错动作,日志末参为期望值(此处期望 "0");(epWorldSize - sharedExpertRankNum)恒为 epWorldSize ∈ {2,4,8},永不为 0。复核方法论说明
鉴于 BUG-029/030 的误报根因是扫描器误读宏方向,对其余 3 项额外验证了"是否依赖 tiling 宏语义":BUG-039 为 kernel 侧纯 C++ 数值截断、BUG-040 为指针判空、BUG-016 为数组越界,均不涉及宏方向,无同类误读风险;并补充了可达性证据(039:tiling 无上限约束 + 无测试兜底;040:仓内 OPTIONAL 判空惯例;016:姊妹路径同款校验)。
同类问题覆盖面盘点结论
对
(epWorldSize - sharedExpertRankNum)作除数/取余的全部 17 处产品代码逐一核对:combine v1/v2、dispatch 全系、dispatch_v2、dispatch_setup op_api、torch_extension 均已有等价校验;combine_setup/teardown 的 arch35 路径因值被钉死为 0 而天然安全;examples 2 处为固定合法值。epRankSize 类越界:唯一索引消费点为 GetHcclCommResource 循环,已在数据获取点(CreatMc2Context)拦截。修复
PR:https://gitcode.com/cann/ops-transformer/merge_requests/12471