Merged
fix(drivers): validate bus and chip transfer buffers #1335
liuxingsenAdd on 25 days ago
fix(drivers): validate bus and chip transfer buffers #1335
Merged
Pull Request has been successfully merged by openUBMC-robot.
(Thank you for liuxingsen's contribution.)25 days ago Created pull request, commit 4a39f97d
Lliuxingsen
25 days ago Associated issue: [任务]: 整合驱动内存边界和异步生命周期修复并完成回归验收,[任务]: 校验 CAN/I2C/BitIO/SMC 输入输出容量与帧长度,避免短读、未对齐访问和无效移位
25 days ago Associated issue: [任务]: 整合驱动内存边界和异步生命周期修复并完成回归验收,[任务]: 校验 CAN/I2C/BitIO/SMC 输入输出容量与帧长度,避免短读、未对齐访问和无效移位
25 days ago Added label: sig/sig-component-drivers
openUBMC-robot
25 days ago Comments:
25 days ago Comments:
欢迎来到 openUBMC 社区
Hey @xiaoxinglxs , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅机器人自助配置使用手册。
联系指引
有疑问可以联系 SIG: sig-component-drivers ,
维护者是: @dongyushan, @net_swift_wangchen, @sam_h1973, @u012924942, @weixin_37569011, @xiaoxinglxs ,
优秀贡献者是: @adellonzzy, @avery-j, @changxingOpenUBMC, @chenshengfan, @dli_bmc, @huangjiapei, @leessential, @net_swift_tianwen, @xiapengc1, @yelvsub .


25 days ago Added label: ai-co-authored
61 messages are collapsed here。 See more
25 days ago Added label: approvedlgtm
openUBMC-robot
25 days ago Comments:
25 days ago Comments:
合入校验失败
@leessential, 当前PR不可合入,原因如下:
标签没满足合入条件
- PR合入需要以下标签 1 lgtm, 但是当前只有0.
- PR合入需要以下标签 1 approved, 但是当前只有0.
标签使用技巧
- lgtm: 合并PR时必要的标签。代码仓管理人员可以通过评论
/lgtm来添加标签。PR创建者可以通过评论/lgtm cancel来删除标签,但无法通过评论/lgtm添加标签。 - approved: 合并PR时必要的标签。代码仓管理人员可以通过评论
/approve来添加标签,通过评论/approve cancel来删除标签。


openUBMC-robot
25 days ago Comments:
25 days ago Comments:
25 days ago Closed associated issue
25 days ago Merged pull request, merge node SHA: ddc8facac20ac587d76d9057b744143dcf89076c
25 days ago Merged pull request, merge node SHA: ddc8facac20ac587d76d9057b744143dcf89076c
当前PR是否有AI参与:
[x ] 否
[] 是
__1. AI Agent 平台:
__2. AI 模型:
__3. Prompt上下文 :
PR功能描述 / 为什么需要这个合入:
CAN/I2C/SMC 和通用芯片接口依赖上游长度值,短输入、短回复或非法 offset 宽度可能导致越界读取、错误移位或复制超出缓冲区。通用芯片如实返回空读回复后,EEPROM 多块读取仍按请求长度拼接,也可能构造越界复制范围。
修改方案:
origin/main@76bb48b06999e6428faf123176efa1742f65df5d。本 PR 按既定拆分安排不额外修改版本号和 CHANGELOG;运行时代码修复的性质如上。验证方案:
重新编译相关测试程序及运行依赖;在私有 mount/IPC/network/PID 命名空间和临时目录内串行运行。保存逐程序 XML、原始日志、二进制哈希,以及测试前后源码树,与最终提交逐字节核对。
测试建议:
在正式 Bingo/CI 依赖和目标板上验证正常读写、EEPROM 短回复及异常传输;在实际插桩构建上运行 ASan/UBSan。本地本轮未执行完整 Bingo 构建、目标板或全仓 sanitizer 测试。
自验证报告:
b823d32ba28828a00efb535524924e84a4a986cd:重新编译成功;7 个程序、494/494 用例通过,失败/错误/跳过/禁用均为 0。包括 EEPROM 74 个用例(其中新增边界回归 6 个)、CAN 30、I2C 38、CAN 芯片 64、通用芯片 55、SMC 63、Aggregate 170。block_read → vector::_M_range_insert → memcpy触发 SIGSEGV。调试器自身退出码为 0,不作为测试成功依据。2567765ba14eb9a5f8f0b41ef84e1c91c5b3c306,确认与最终提交源码树相同;没有将历史测试结果冒记到新代码。plain、断言启用、tests=true、unidev=true,未启用 sanitizer。复用 libmcpp 缓存,头文件 checkout 为10829fb9;缓存二进制缺少完整构建溯源,未宣称重新编译了最新 libmcpp。远端流水线按本提交 SHA 单独核实。该PR关联的issue
fixes #760
希望检视人员了解:
这是原 !1307 拆分的总线与芯片边界主题。EEPROM 检查限定在需要固定长度复制的多块拼接处,通用 data_access 保留各协议真实回复长度;单块透传由已有上层解析器检查长度。调用方须检查错误码,不能将失败时的完整前缀当作完整读取结果。拆分背景和本轮版本安排见本分支 tests/README.md;不提交独立历史压力报告。未执行合入或批准命令。