PR 21650 Review Report
标题:urma: query resource options by id.
审查结论:Request Changes
详细审查结果
补丁格式 warning
- inclusion-tag 建议改为 driver inclusion
- bugzilla 正确
KABI/KAPI 兼容性 fail
- struct ubcore_jfc (在 include/ub/urma/ubcore_types.h 中) 新增 kref ref_cnt 和 struct completion comp 字段,属于 UAPI BREAKING 变更
- 新增 4 个 EXPORT_SYMBOL(ubcore_get_*_opt_by_id)
- ubcore_opt.h 中结构体重命名 ubcore_opt_map_t -> ubcore_opt_map
安全性 pass
- 新增 get 函数有完整引用计数保护
逻辑正确性 pass
- ubcore_find_get_jfc / put_jfc 配对正确
- 通过 hash table lookup get 获取引用再查询选项,逻辑正确
Backport 验证 N/A
- 非 backport
发现问题汇总
| 严重级别 | 类别 | 问题描述 | 修复建议 |
|---|---|---|---|
| critical | KABI/UAPI | struct ubcore_jfc 定义在 include/ub/urma/ubcore_types.h (UAPI 头文件) 中,新增 kref 和 completion 字段会改变该结构体大小和布局,破坏与现有用户态驱动的二进制兼容性 | UAPI 结构体不允许在中间插入字段。如需新增状态,建议: 1) 使用私有扩展结构体; 2) 或将新增字段放在末尾并确认用户态不依赖 sizeof; 3) 使用指针指向私有数据 |
| medium | KABI | 新增 EXPORT_SYMBOL(ubcore_get_jfc_opt_by_id 等),需确认是否已加入 KABI 白名单 | 联系 KABI 维护者确认 |
| low | patch format | inclusion-tag 使用 urma inclusion | 改为 driver inclusion |
修复建议
- 必须解决 struct ubcore_jfc 的 UAPI 兼容性问题后再合入
- 确认 EXPORT_SYMBOL 白名单
- 修正 inclusion-tag
⚠️ 免责声明
本网站内容由 AI 工具辅助生成,仅供参考和学习使用。作者不对内容的准确性、完整性和适用性做任何保证。使用本站信息所造成的任何损失,作者不承担任何责任。请在生产环境使用前进行充分测试和验证。