PR 21725 Review Report
标题:urma: fix Clos networking and add a new interface get_path_set.
审查结论:Request Changes
详细审查结果
补丁格式 warning
- inclusion-tag 应使用 driver inclusion
- category: bugfix 与内容不完全匹配(更像 feature)
- bugzilla 正确
KABI/KAPI 兼容性 warning
- 新增 EXPORT_SYMBOL(ubcore_get_path_set)
- 新增 UAPI 结构体: ubcore_path_set, ubcore_path, ubcore_node_id
- ubcore_uvs_global_cmd 枚举新增 UBCORE_CMD_GET_PATH_SET = 4
- ubagg_topo_node 结构体字段重排(id->type/node_id)
安全性 pass
- 新增边界检查完整
- 无 obvious 安全问题
逻辑正确性 pass
- Clos 与 FullMesh 分支处理逻辑清晰
- ubcore_get_path_set 参数校验完整
- 路径数量上限检查正确
Backport 验证 N/A
- 非 backport
发现问题汇总
| 严重级别 | 类别 | 问题描述 | 修复建议 |
|---|---|---|---|
| high | KABI/UAPI | ubagg_topo_node 结构体布局发生 BREAKING 变更: 原第一个字段 uint32_t id 被替换为 type + super_node_id + node_id。该结构体通过 create_ubagg_topo_map_from_user() 从 userspace copy_from_user 传入,旧版用户态工具会直接传入错误数据 | 必须解决 UAPI 兼容性问题: 1) 保留原 id 字段并标记 deprecated; 2) 或在 copy_from_user 前进行版本识别/转换; 3) 或将变更限制在内部副本中 |
| medium | KABI | 新增 EXPORT_SYMBOL(ubcore_get_path_set),需确认是否已加入 openEuler KABI 白名单 | 联系 KABI 维护者确认白名单状态 |
| medium | patch format | inclusion-tag 使用 'urma inclusion' 而非标准 'driver inclusion' | 修改为 driver inclusion |
| low | style | ubcore_get_path_set 函数缩进不统一 | 修正缩进为内核标准 |
修复建议
- 必须解决 ubagg_topo_node 的 UAPI 兼容性问题后再合入
- 确认 EXPORT_SYMBOL 白名单
- 补充用户态工具同步更新说明
⚠️ 免责声明
本网站内容由 AI 工具辅助生成,仅供参考和学习使用。作者不对内容的准确性、完整性和适用性做任何保证。使用本站信息所造成的任何损失,作者不承担任何责任。请在生产环境使用前进行充分测试和验证。