RT-Thread 每日动态报告(2026-10-29)
调研窗口:2026-10-28 08:00 ~ 2026-10-29 08:00(北京时间,24 小时)
信源:RT-Thread 官方新闻接口与社区文章接口、GitHub(主仓库 commits / PR / Issue / releases / tags、RT-Thread/packages、vscode-rt-smart、sdk、pkgs-test、topic:rt-thread 生态检索)、Google News 聚合(中英文六组查询,走代理)、HN Algolia、行业媒体与社区项目仓库核验(详见附录信源清单)
本期索引
- 一、内核与版本动态
- 三个月前提交的 utest 提案一次合入四笔(10-28)
- utest 汇总误判:后面的 unit 通过就把 testcase 的失败数抹掉(10-28)
- netdev 用例切断公网依赖,CI 里不再访问 8.8.8.8 与百度(10-28)
- musl 下信号用例从 1 起装,signal 0 不再参与(10-28)
- DHCP raw 服务器选项解析补边界,越界读缺陷关闭(10-28)
- 二、安全跟进与待合并队列
- RT-Smart 终端 ioctl 把用户指针交给内核解引用,可读写任意内核内存(10-28)
- libc 定时器 64 位截断:10 秒定时器被 arm 成 21 小时(10-28)
- musl pthread_exit 线程链表 use-after-free,SMP 并发退出崩(10-28)
- Smart 那批 10-18 提案在队列里继续刷新(10-29)
- 三、官方与社区活动
- 官方新闻接口仍在 6 月 17 日,连续第四个月无新增(10-28)
- 社区文章通道 80 分钟内连发三篇嵌入式大赛作品(10-28)
- FAL 维护者退出,MAINTAINERS 删掉一条(10-28)
- 四、生态与厂商适配
- 瑞萨 RA6W1-EK 补 24 个 Wi-Fi 中断向量,CryptoCell 与 MAC 收发补齐(10-28)
- 纳芯微 NS800RT7P65 上的工业 CAN 分布式移动机器人(10-28)
- 玄铁 D121 主站配龙芯 LS2K0300 从机,做多设备监控与异常追溯(10-28)
- NXP MCXA346 上的轻量神经网络增强 FOC,稳态误差降 4.26%(10-28)
- 五、趋势观察与总结
- 本期趋势:测试基础设施与安全边界同时补课
- 局限性与去重说明
- 附录:信源核查表与信源清单
一、内核与版本动态
1.1 三个月前提交的 utest 提案一次合入四笔(10-28)
日期:2026-10-28 14:44(合入时间) 来源:主仓库提交记录、提案 #11601
本期主线唯一一次成组落地来自一笔旧提案。提案 #11601 创建于 7 月 9 日,10 月 28 日 14:44 合入,带进四笔提交、三个文件、新增 125 行、删除 103 行:utest 汇总统计修复、netdev 用例稳定化、musl 下 signal 0 跳过,以及两处 clang-format 整理。四笔在同一个时间戳落地,说明是整笔合并而非逐条挑选。从 7 月提出来到 10 月底进主线,压了三个多月,这类纯测试与格式提案在评审队列里排期靠后是常态,但一旦合入就能立刻改变 CI 的判定结果。
1.2 utest 汇总误判:后面的 unit 通过就把 testcase 的失败数抹掉(10-28)
日期:2026-10-28 14:44(合入时间) 来源:提案 #11601
一个 testcase 内部含多个 UTEST_UNIT_RUN 时,某个 unit 失败后,如果后续 unit 通过,utest_unit_run() 会重置 local_utest.failed_num,最终 testcase 与整体汇总仍显示通过。也就是说测试确实跑错了,报表却说没事。修法是:testcase 开始执行前清零统计,每个 unit 仍独立统计,unit 结束后把本 unit 的通过数与失败数累加回 testcase 总计。这样保留了 unit 级隔离,又不会让后面的成功覆盖前面的失败。改动落在 utest.c,新增 29 行、删除 6 行。
1.3 netdev 用例切断公网依赖,CI 里不再访问 8.8.8.8 与百度(10-28)
日期:2026-10-28 14:44(合入时间) 来源:提案 #11601
原 netdev ping 用例把 8.8.8.8 与 www.baidu.com 当作必须连通的目标,还依赖 “192.256.0.321” 这类非法 IP 字符串被解析层拒绝。问题有两处:CI 环境没有外网时前一类用例必然失败,属于假红;非法字符串的拒绝行为在不同解析实现下并不一致,属于伪断言。本次把外网用例整体包进 #ifndef RT_USING_CI_ACTION,非法地址改为传空主机名(DNS 查询之前就被拒),DNS 用例改为只验证配置写入生效。改动落在 tc_netdev.c,新增 34 行、删除 43 行。
1.4 musl 下信号用例从 1 起装,signal 0 不再参与(10-28)
日期:2026-10-28 14:44(合入时间) 来源:提案 #11601
四处信号用例原先都从 signo 等于 0 开始装处理器。0 号信号在 POSIX 里只用于存在性检查,没有可安装的处理器语义,musl 下按此调用会失败,于是整组用例在 musl 配置上挂掉。本次引入 UTEST_SIGNAL_MIN:musl 下取 1,其它 libc 仍取 0,四处循环统一改用该宏。改动落在 signal_tc.c,新增 10 行、删除 4 行。这是把「libc 实现差异」从测试判定里剥离出来的典型做法,比在断言里放宽条件更干净。
1.5 DHCP raw 服务器选项解析补边界,越界读缺陷关闭(10-28)
日期:2026-10-28 19:04(合入时间) 来源:提案 #11940、缺陷 #11913
raw API 的 DHCP 服务器在遍历客户端选项时,可能读到缺失的长度字节,也可能返回内容被截断的选项,MESSAGE_TYPE 与 REQUESTED_IP 两个调用点随后读取未校验长度的值,构成越界读;解析还按预分配的 1500 字节缓冲区进行,超出实际收到的数据范围。本次合入的修法是逐层校验:读长度字节前先确认选项头完整,返回或推进指针前确认声明内容落在报文内,REQUESTED_IP 要求值至少 4 字节、MESSAGE_TYPE 至少 1 字节,拒绝短于 DHCP_OPTIONS_OFS 的报文,并按实际报文长度计算选项区。只改 dhcp_server_raw.c,新增 23 行、删除 5 行,作者以 12 项主机侧回归用例(ASAN)验证。
二、安全跟进与待合并队列
2.1 RT-Smart 终端 ioctl 把用户指针交给内核解引用,可读写任意内核内存(10-28)
日期:2026-10-28 13:14(报告)/ 20:35(修复提案) 来源:缺陷 #11937、提案 #11941
报告指出 RT-Smart 的终端子系统由 FreeBSD tty 框架移植而来,但移植时丢掉了 FreeBSD 在 sys_ioctl() 里先把用户参数 copyin 到内核栈缓冲区这个前提。RT-Smart 的 sys_ioctl() 对非 flock 命令直接转发原始用户指针,移植进来的适配函数与 tty.c 的 TIOCGWINSZ 分支仍按 *(struct winsize *)data 直接写内核地址。后果是:非特权进程只用 open 加 ioctl 两条官方接口,就能读写任意内核内存,传空指针可直接让内核崩溃。影响 v5.1.0 起的全部版本(由 2024-03-28 的提案 #8672 引入),v5.0.x 不受影响;在 qemu-vexpress-a9 上验证,且缺陷与架构无关,AArch64 的 RT-Smart 同样适用。当日 20:35,社区提交提案 #11941:在 ioctl 适配层引入内核栈暂存与 copy_from_user/copy_to_user,对 ptm 与 tty 通用路径补 lwp_in_user_space() 界限校验,涉 6 个文件、新增 577 行、删除 52 行。
2.2 libc 定时器 64 位截断:10 秒定时器被 arm 成 21 小时(10-28)
日期:2026-10-28(创建时间) 来源:提案 #11938、缺陷 #11924
缺陷 #11924 报告 timer_gettime() 把总剩余纳秒存进 32 位整数再拆秒。提案者往下查,发现前面还有一处更严重的同类截断:timer_settime() 用 unsigned long res = rt_clock_time_get_res_scaled() 做换算,而该函数对 100 Hz 时钟源返回 1e13 量级,存进 32 位只留下低位,算出的 reload 完全错位。按提案给出的算式,10 秒定时器折算出的 reload 约对应 21 小时——也就是说定时器从 arm 那一刻起就是错的,只修 timer_gettime() 并不会让结果变对。提案同时修设置与查询两侧,涉 4 个文件、新增 142 行、删除 5 行,仍在队列。
2.3 musl pthread_exit 线程链表 use-after-free,SMP 并发退出崩(10-28)
日期:2026-10-26(报告)/ 2026-10-28(更新) 来源:缺陷 #11932
RT-Thread Smart 5.2.2、SMP、aarch64、musl 1.2.5 组合下,并发 pthread_create 与 pthread_exit 会在 musl_pthread_exit 内崩溃:线程链表摘链时写到已释放或已解除映射的线程描述符(Data Abort),或线程返回地址被写成 0(Instruction Abort)。报告附了复现程序与详细分析,1000 轮 8 线程的负载在数百轮内即可复现。本窗口内该缺陷有更新但尚无对应修复提案,属下一批需要盯的 Smart 侧问题——它与 2.1 分属不同子系统,但都落在「用户态与内核态边界」这条线上。
2.4 Smart 那批 10-18 提案在队列里继续刷新(10-29)
日期:2026-10-28 20:37 ~ 2026-10-29 00:17(最后更新) 来源:提案 #11896、提案 #11894
qemu-virt64 启用 RT-Thread Smart 的提案在 10 月 29 日 00:17 仍有更新,lwp 按子系统拆分系统调用实现的提案在 10 月 28 日 20:37 刷新,两笔都是 10 月 18 日创建、至今未合入。同批还有若干 lwp、信号与串口相关提案在 10 月 28 日下午集中刷新。这组提案在本窗口内仍是队列里最活跃的一段,但当天合入的四笔里没有一笔属于 Smart,说明维护者这一轮先清了测试与网络侧的旧账。
三、官方与社区活动
3.1 官方新闻接口仍在 6 月 17 日,连续第四个月无新增(10-28)
日期:2026-10-28(核查时间) 来源:官方新闻接口
官方新闻接口逐页核查,最新条目仍是 2026-06-17 发布的两篇,分别关于阿布扎比投资论坛与第四届软件创新发展大会,24 小时与 7 天窗口内均无新增。与社区文章通道当日连发三篇相比,两侧冷热反差明显:官方对外稿件已连续四个月低频,日报的日常内容实质由 GitHub 与社区侧承载。这一状态本身对判断社区活跃度有参考价值——公司对外传播节奏放缓,不等于工程侧停滞。
3.2 社区文章通道 80 分钟内连发三篇嵌入式大赛作品(10-28)
日期:2026-10-28 13:03 ~ 14:12(发布时间) 来源:社区文章接口
社区文章接口在 13:03 至 14:12 之间新增三篇,全部是 2026 嵌入式大赛参赛作品:基于纳芯微 NS800RT7P65 的工业 CAN 分布式移动机器人、以玄铁 D121 为主站的多从机监控与异常追溯系统、基于 NXP MCXA346 的轻量神经网络增强无刷电机控制器。三篇都附了开源仓库或完整复现记录,赛道覆盖工业控制、工业互联与电机控制三个方向。集中发布说明大赛已进入作品提交与展示高峰,也说明这一批作者习惯把工程细节连同代码一起公开,而不只是交一份报告。逐项技术拆解见第四章。
3.3 FAL 维护者退出,MAINTAINERS 删掉一条(10-28)
日期:2026-10-28 18:48(合入时间) 来源:提案 #11939
一笔只改 MAINTAINERS 的合入,删除 components_fal 条目,原作者在说明里写已没有时间与精力继续参与社区工作。FAL(Flash 抽象层)长期由单人维护,这次是维护者主动移交,不涉及代码质量问题。条目删除后该组件暂时没有登记维护者,后续是否有人补位值得留意——按以往的规律,这类基础组件一旦无人认领,问题会在厂商提 BSP 时才暴露出来。
四、生态与厂商适配
4.1 瑞萨 RA6W1-EK 补 24 个 Wi-Fi 中断向量,CryptoCell 与 MAC 收发补齐(10-28)
日期:2026-10-28 18:52(合入时间) 来源:提案 #11934
RA6W1-EK 的 rafw_gen 向量表原先只覆盖通用外设,Wi-Fi 侧一整组中断都没有入口:KDMA、TDES CBC、PSK SHA1、SYSPLL 与 FPLL 锁定、整组 RTC 接口(外部唤醒、掉电、欠压、脉冲计数、总线时钟、访问、镜像、加载完成)、MRM 与 D-cache MRM、CryptoCell-312、HSU、MAC 定时器/接收/发送/协议/通用/信标,以及 radio controller,共 24 个。本次全部声明为 weak 处理函数并挂进向量表,同时把 ROM 符号表里两个 crypto 入口改名为 __rom_ 前缀,避免与 RAM 侧同名符号冲突。改动落在 vector_data.c(新增 49 行)与 rom_code_gcc.symbols(改 6 行)。
4.2 纳芯微 NS800RT7P65 上的工业 CAN 分布式移动机器人(10-28)
日期:2026-10-28 14:12(发布时间) 来源:社区文章:小型自主移动机器人、开源仓库
2026 嵌入式大赛的工业控制赛道作品,代码以 GPL-3.0 公开。主控为纳芯微 NS800RT7P65(Cortex-M7,600 MHz),跑 RT-Thread 4.x,单芯片承担 FOC 二维云台、CAN 主控与 40 条 MSH 在线诊断命令;底盘是 CAN 五节点架构(主控、云台 FOC、传感器采集、底盘驱动、视觉 AI),从站各自本地闭环,符合工业 AMR 的分层设计。感知侧用超声波旋转扫描生成二维点云,加惯性单元与里程计做位姿推算,摄像头供图、协板跑目标检测,把视觉算力与控制算力分开。监控走局域网 MQTT 平台,Web 页面实时显示位姿、点云、识别目标与轨迹,并支持内网下发多步任务序列,整条链路不依赖公网。
4.3 玄铁 D121 主站配龙芯 LS2K0300 从机,做多设备监控与异常追溯(10-28)
日期:2026-10-28 13:03(发布时间) 来源:社区文章:多从机设备监控与异常追溯系统
同一批大赛作品里的工业互联方案。主站是玄铁 D121,跑 RT-Thread 加 LVGL 触摸屏,经 RS485 与 Modbus RTU 轮询两个从站:星火 STM32F407 采集温湿度与六轴数据,龙芯 LS2K0300 上报 CPU、内存与运行时间等系统指标。采集数据落 TF 卡并支持本地回放,通信中断、恢复与振动越限等关键事件进入持久化队列,经 ESP8266 上云后用微信小程序远程查看,断网时先存本地、恢复后补传。设计上的重点是单台设备失联时其它设备仍能继续记录。把 ARM 与 LoongArch 两类从站放进同一条 Modbus 总线,对异构设备接入场景有直接参考价值。
4.4 NXP MCXA346 上的轻量神经网络增强 FOC,稳态误差降 4.26%(10-28)
日期:2026-10-28 14:12(发布时间) 来源:社区文章:轻量神经网络增强的智能无刷电机控制器、开源仓库
第三篇大赛作品,硬件为 NXP FRDM-MCXA346 加 2804 电机、AS5600 磁编码器与 SimpleFOC Mini 驱动。控制侧先做前馈加 PI 的速度环与位置环,再在控制输出上叠一个 3 输入、8 个隐藏单元、1 输出的动态补偿网络,权重导出成 C 代码直接在 MCU 上计算,固件不引入推理框架;补偿可单独开关,便于同参数对照。实测 90 段实板测试(正负 15 RPM 内 10 种切换各三轮):稳态尾段 100 毫秒窗口的 RMSE 从 2.187 降到 2.094 RPM,约降 4.26%;整段 RMSE 从 3.327 降到 3.291,约降 1.07%。另外给 P 项目标加 25 毫秒平滑后,60 段测试的整段速度误差均值降约 5.83%。RT-Thread 侧控制线程按 2 毫秒周期运行,串口线程单独处理命令与遥测,线程间用互斥量同步状态。
五、趋势观察与总结
5.1 本期趋势:测试基础设施与安全边界同时补课
日期:2026-10-29(本期) 来源:主仓库提交记录、缺陷 #11937
本期七笔合入里有四笔是测试相关:三笔改用例逻辑,一笔只做格式化,方向都是让 CI 的判定可信——不再依赖公网、不再被后续 unit 覆盖、不再假定 musl 下 signal 0 可以安装。安全侧是另一条线:DHCP 越界读被关掉,RT-Smart 终端 ioctl 的用户指针直达内核问题当天报、当天提修,libc 定时器截断从「只修查询」推进到「连设置一起修」。两类工作都不产生新功能,但都指向同一件事:把「测试通过」与「参数可信」这两个前提重新做实。与此对照,Smart 侧的提案仍在队列里刷新而当天未合入,说明这一轮维护顺序是先清测试与网络侧旧账。
5.2 局限性与去重说明
日期:2026-10-29(本期) 来源:官方新闻接口、社区文章接口
- 官方新闻接口连续第四个月无新增,本期新闻侧内容来自社区文章接口与 GitHub。媒体检索窗口内只命中一条 RTOS 历史回顾长文(10-28 11:48),原站抓取受限、无法核对正文是否涉及 RT-Thread,未收录。
- 昨日日报记录的 clang-format 22.1.8 全量格式化提案 #11936 本期继续刷新(10-28 18:50),无实质变化,不重复收录。
- topic:rt-thread 生态检索窗口内只有 zlgopen/awtk 有推送(10-28 12:56),属通用 GUI 工具包的常规改进,与 RT-Thread 无直接关系,剔除。
- HN Algolia 本期两条命中均为 threads 与 ThreadShelf 的字符串误匹配,整批剔除;Google News 英文侧窗口内无相关稿件。
- 三篇大赛作品同日发布、主题相近,按各自赛道分别收录,未合并为一条,以免丢掉技术细节。
附录:信源核查表与信源清单
信源核查表
| 信源 | 核查结果 |
|---|---|
| 官方新闻接口(rt_org) | 24 小时无新增,最新条目停在 2026-06-17 |
| 社区文章接口(article) | 窗口内新增 3 篇,均为 2026 嵌入式大赛作品(10-28 13:03 至 14:12) |
| 主仓库 commits | 窗口内 7 笔合入,集中在 10-28 14:44 与 18:48 至 19:04 |
| 主仓库 PR | 合入 4 笔(#11601、#11934、#11939、#11940),新建 2 笔(#11938、#11941),在审提案 17 笔本窗口有更新 |
| 主仓库 releases / tags | 无新增,最新仍为 v5.3.0(2026-09-10) |
| 主仓库 Issue | 新建 1 笔(#11937,RT-Smart 终端 ioctl 安全),另 2 笔本窗口有更新 |
| RT-Thread/packages | 无推送,最新推送 2026-10-23 |
| vscode-rt-smart | 无推送,最新推送 2026-10-26 |
| RT-Thread/sdk | 无推送,最新推送 2026-10-26 |
| pkgs-test | 无推送,最新推送 2026-10-23 |
| topic:rt-thread 生态检索 | 窗口内仅 zlgopen/awtk 推送,与 RT-Thread 无直接关系,剔除 |
| Google News 中文 | 窗口内 1 条 RTOS 回顾长文,原站抓取受限,未收录 |
| Google News 英文 | 窗口内无相关命中 |
| HN Algolia | 2 条 threads 与 ThreadShelf 误匹配,整批剔除 |
完整信源清单
- [1] RT-Thread 主仓库提交记录
https://github.com/RT-Thread/rt-thread/commits/master - [2] 主仓库提案 #11601(utest 汇总与用例稳定化)
https://github.com/RT-Thread/rt-thread/pull/11601 - [3] 主仓库提案 #11940(DHCP raw 选项边界)
https://github.com/RT-Thread/rt-thread/pull/11940 - [4] 主仓库缺陷 #11913(DHCP 越界读)
https://github.com/RT-Thread/rt-thread/issues/11913 - [5] 主仓库缺陷 #11937(RT-Smart 终端 ioctl 用户指针)
https://github.com/RT-Thread/rt-thread/issues/11937 - [6] 主仓库提案 #11941(终端 ioctl copyin/copyout)
https://github.com/RT-Thread/rt-thread/pull/11941 - [7] 主仓库提案 #11938(libc 定时器 64 位截断)
https://github.com/RT-Thread/rt-thread/pull/11938 - [8] 主仓库缺陷 #11924(timer_gettime 截断)
https://github.com/RT-Thread/rt-thread/issues/11924 - [9] 主仓库缺陷 #11932(musl pthread_exit 线程链表)
https://github.com/RT-Thread/rt-thread/issues/11932 - [10] 主仓库提案 #11896(qemu-virt64 启用 Smart)
https://github.com/RT-Thread/rt-thread/pull/11896 - [11] 主仓库提案 #11894(lwp 子系统拆分)
https://github.com/RT-Thread/rt-thread/pull/11894 - [12] 主仓库提案 #11934(RA6W1-EK 系统配置)
https://github.com/RT-Thread/rt-thread/pull/11934 - [13] 主仓库提案 #11939(MAINTAINERS 移除 FAL 条目)
https://github.com/RT-Thread/rt-thread/pull/11939 - [14] 主仓库版本发布记录
https://github.com/RT-Thread/rt-thread/releases - [15] 主仓库标签列表
https://github.com/RT-Thread/rt-thread/tags - [16] 官方新闻接口
https://club.rt-thread.org/api/index/getList?type=rt_org - [17] 社区文章接口
https://club.rt-thread.org/api/index/getList?type=article - [18] 社区文章:小型自主移动机器人(NS800RT7P65)
https://club.rt-thread.org/ask/article/88ec5ac60d41d665.html - [19] 社区文章:多从机设备监控与异常追溯系统(玄铁 D121)
https://club.rt-thread.org/ask/article/3febce8c6543ba79.html - [20] 社区文章:轻量神经网络增强的无刷电机控制器(MCXA346)
https://club.rt-thread.org/ask/article/1ae9bc2938def9c8.html - [21] 大赛作品开源仓库:ns800-amr
https://gitcode.com/sdcwhy/ns800-amr - [22] 大赛作品开源仓库:rtt-mcx-BLDCmotor
https://github.com/2470519590/rtt-mcx-BLDCmotor - [23] RT-Thread 组织仓库列表
https://github.com/orgs/RT-Thread/repositories?sort=pushed