[HUST CSE][lwp] reject wrapped user copy ranges#11291
[HUST CSE][lwp] reject wrapped user copy ranges#11291Telecaster2147 wants to merge 2 commits intoRT-Thread:masterfrom
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: componentsReviewers: @Maihuanyi Changed Files (Click to expand)
🏷️ Tag: components_lwpReviewers: @xu18838022837 Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2026-03-23 21:42 CST)
📝 Review Instructions
|
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
lwp_get_from_user() 和 lwp_put_to_user() 在校验用户缓冲区尾地址时,直接使用了
addr + size。当 size 足够大时,这个加法可能发生回绕,可能导致越界范围被错误地判断为合法用户地址区间。你的解决方案是什么 (what is your solution)
直接将用户地址范围检查统一到 lwp_user_range_is_valid()函数,并在检查中显式拒绝以下情况:
lwp_get_from_user和 lwp_put_to_user()均复用该检查逻辑,非法范围继续返回 0
请提供验证的bsp和config (provide the config and bsp)
BSP: bsp/qemu-vexpress-a9
.config: 使用 bsp/qemu-vexpress-a9/.config进行基础编译验证,不引入新的功能配置项。
action: https://github.com/Telecaster2147/rt-thread/actions/runs/23440597624
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up