調査期間: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 アグリゲーション(中日英文 6 組のクエリ、プロキシ経由)、HN Algolia、業界メディアおよびコミュニティプロジェクトリポジトリの検証(付録の情報源リストを参照)


本期インデックス

    1. カーネルとバージョン動向
      • 3 か月前に提出された utest 提案が一度に 4 コミットでマージ(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)
    1. セキュリティフォローとマージ待ちキュー
      • 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)
    1. 公式およびコミュニティ活動
      • 公式ニュースインターフェースは依然 6 月 17 日、4 か月連続で新規なし(10-28)
      • コミュニティ記事チャネルが 80 分以内に組込みコンテスト作品を 3 本連続投稿(10-28)
      • FAL メンテナが離脱、MAINTAINERS から 1 行削除(10-28)
    1. エコシステムとベンダー適配
      • ルネサス 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. カーネルとバージョン動向

1.1 3 か月前に提出された utest 提案が一度に 4 コミットでマージ(10-28)

日付:2026-10-28 14:44(マージ時刻) 出所:メインリポジトリコミット記録、提案 #11601

本期メインラインで唯一のグルーピング着地は古い提案によるもの。提案 #11601 は 7 月 9 日に作成され、10 月 28 日 14:44 にマージされ、4 コミット、3 ファイル、125 行追加、103 行削除を取り込んだ:utest 集計統計の修正、netdev ケースの安定化、musl 下での signal 0 スキップ、および 2 か所の clang-format 整理。4 コミットが同一タイムスタンプで着地したことは、個別選択ではなく一括マージであることを示す。7 月の提出から 10 月末のメインライン投入まで 3 か月以上滞留しており、この種の純粋なテストとフォーマットの提案がレビューキューで後回しになるのは常態だが、一度マージされれば CI の判定結果を直ちに変えることができる。

1.2 utest 集計の誤判定:後続の unit が通過すると testcase の失敗数が消される(10-28)

日付:2026-10-28 14:44(マージ時刻) 出所:提案 #11601

1 つの 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. セキュリティフォローとマージ待ちキュー

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 の二つの公式インターフェースだけで、任意のカーネルメモリを読み書きでき、NULL ポインタを渡せばカーネルを直接クラッシュさせられる。影響は 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 秒タイマーが 21 時間に arm される(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 日午後に集中して更新された。この提案群は本調査期間内でもキューの中で最も活発な部分だが、当日マージされた 4 件の中に Smart に属するものは 1 つもなく、メンテナはこのラウンドでまずテストとネットワーク側の旧帳簿を整理したことを示している。

3. 公式・コミュニティ活動

3.1 公式ニュースインターフェースは依然 6 月 17 日のまま、4 か月連続で新增なし(10-28)

日付:2026-10-28(確認時間) ソース:公式ニュースインターフェース

公式ニュースインターフェースをページごとに確認したが、最新項目は依然 2026-06-17 に公開された 2 本で、それぞれアブダビ投資フォーラムと第 4 回ソフトウェア革新発展大会に関するものだ。24 時間および 7 日間の期間内に新增はない。コミュニティ記事チャネルが当日 3 本連続で投稿したのと比べると、両側の温度差は明らかである。公式対外稿は 4 か月連続で低頻度となり、デイリーレポートの日常内容は実質的に GitHub とコミュニティ側が担っている。この状態自体、コミュニティの活発度を判断する参考になる。企業の対外発信ペースの鈍化は、エンジニアリング側の停滞を意味しない。

3.2 コミュニティ記事チャネルが 80 分間に 3 本の組み込みコンテスト作品を連続投稿(10-28)

日付:2026-10-28 13:03 ~ 14:12(公開時間) ソース:コミュニティ記事インターフェース

コミュニティ記事インターフェースは 13:03 から 14:12 の間に 3 本を新增した。すべて 2026 組み込みコンテストの応募作品である。納芯微 NS800RT7P65 ベースの産業用 CAN 分散移動ロボット、玄鉄 D121 をマスターとするマルチスレーブ監視・異常追跡システム、NXP MCXA346 ベースの軽量ニューラルネットワーク強化ブラシレスモータコントローラだ。3 本ともオープンソースリポジトリまたは完全な再現記録が添付され、トラックは産業制御、産業インターコネクト、モータ制御の 3 方向をカバーしている。集中投稿は、コンテストが作品提出と展示のピークに入ったことを示すとともに、この一群の作者が単にレポートを提出するだけでなく、エンジニアリングの詳細をコードとともに公開する習慣があることを示している。項目ごとの技術分解は第 4 章を参照。

3.3 FAL メンテナが退出、MAINTAINERS から1件削除(10-28)

日付:2026-10-28 18:48(マージ時間) 情報源:提案 #11939

MAINTAINERS のみを変更するマージで、components_fal のエントリを削除。原作者は説明の中で、コミュニティ活動に継続参加する時間と精力がなくなったと記している。FAL(Flash 抽象化レイヤ)は長らく単独でメンテナンスされており、今回はメンテナによる自主的な引き継ぎであり、コード品質の問題ではない。エントリ削除後、このコンポーネントには当面登録メンテナがいない。今後補充されるかどうかは注目に値する——従来の傾向からすると、こうした基盤コンポーネントは一旦引き受け手がいなくなると、問題はベンダーが BSP を提出する段階になって初めて露呈する。

4. エコシステムとベンダー適合

4.1 ルネサス RA6W1-EK に Wi-Fi 割り込みベクタ24個を追加、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 エントリ2個を __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 5ノードアーキテクチャ(マスター制御、雲台 FOC、センサ収集、シャーシ駆動、視覚 AI)で、スレーブはそれぞれローカルで閉ループを構成し、産業用 AMR の階層設計に適合する。知覚側は超音波回転スキャンで二次元点群を生成し、慣性ユニットとオドメトリで姿勢推算を追加。カメラが画像を供給し、協調ボードが目標検出を実行して、視覚演算力と制御演算力を分離している。監視は LAN 内 MQTT プラットフォームを経由し、Web ページで姿勢、点群、認識目標、軌跡をリアルタイム表示。さらにイントラネット経由で多段タスクシーケンスの配信をサポートし、全リンクが公衆網に依存しない。

4.3 玄鉄 D121 マスターに龍芯 LS2K0300 スレーブを構成、マルチデバイス監視と異常追跡を実现(10-28)

日付:2026-10-28 13:03(公開時間) 情報源:コミュニティ記事:マルチスレーブデバイス監視と異常追跡システム

同じコンテスト作品群の産業インターコネクト方案。マスターは玄鉄 D121 で、RT-Thread と LVGL タッチスクリーンを動作させ、RS485 と Modbus RTU 経由で2台のスレーブをポーリングする:星火 STM32F407 が温湿度と六軸データを収集し、龍芯 LS2K0300 が CPU、メモリ、稼働時間などのシステム指標を報告。収集データは TF カードに保存されローカル再生をサポート。通信断、復旧、振動閾値超過などの重要イベントは永続化キューに入り、ESP8266 経由でクラウドに送信後、WeChat ミニプログラムで遠隔閲覧。ネットワーク切断時はまずローカルに保存し、復旧後に再送する。設計上の重点は、1台のデバイスが接続を失っても他のデバイスが記録を継続できること。ARM と LoongArch の2種類のスレーブを同一の Modbus バスに載せる構成は、異種デバイス接続シナリオに直接的な参考価値がある。

4.4 NXP MCXA346 上の軽量ニューラルネットワーク強化 FOC、定常誤差 4.26% 低減(10-28)

日付:2026-10-28 14:12(公開時間) 情報源:コミュニティ記事:軽量ニューラルネットワーク強化インテリジェントブラシレスモータコントローラ、オープンソースリポジトリ

3番目の大会作品は、ハードウェアが NXP FRDM-MCXA346 に 2804 モーター、AS5600 磁気エンコーダ、SimpleFOC Mini ドライバを組み合わせたものです。制御側ではまずフィードフォワード+PI の速度ループと位置ループを実装し、その制御出力に 3 入力・8 隠れユニット・1 出力の動的補償ネットワークを重ねます。重みは C コードにエクスポートして MCU 上で直接計算し、ファームウェアに推論フレームワークは導入しません。補償は個別にオン・オフでき、同一パラメータでの比較対照が容易です。実機 90 区間のテスト(±15 RPM 内の 10 種の切り替えを各 3 回)における実測では、定常状態の末尾 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. トレンド観察とまとめ

5.1 今期のトレンド:テスト基盤とセキュリティ境界の同時補強

日付:2026-10-29(今期) 情報源:メインリポジトリのコミット記録、欠陥 #11937

今期マージされた 7 件のうち 4 件はテスト関連です。3 件はテストケースのロジック変更、1 件はフォーマットのみで、いずれも CI の判定を信頼できるものにする方向です。すなわち、公衆網に依存せず、後続の unit に上書きされず、musl 下で signal 0 をインストールできると仮定しない、という方針です。セキュリティ側はもう一つの流れです。DHCP の範囲外読み取りは無効化され、RT-Smart 端末 ioctl のユーザーポインタがカーネルへ直接到達する問題は当日報告・当日修正提案となり、libc タイマーの切り詰めは「照会のみの修正」から「設定も合わせて修正」へと進みました。いずれの作業も新機能を生みませんが、いずれも同じ一点を指します。すなわち「テスト通過」と「パラメータの信頼性」という二つの前提を再度確実にすることです。これと対照的に、Smart 側の提案はキュー内で更新を続けるも当日はマージされず、今回のメンテナンス順序がまずテストとネットワーク側の旧債を清算することにあることを示しています。

5.2 制約と重複排除の説明

日付:2026-10-29(今期) 情報源:公式ニュースインターフェース、コミュニティ記事インターフェース

  • 公式ニュースインターフェースは 4 か月連続で新規なし。今期のニュース側コンテンツはコミュニティ記事インターフェースと GitHub からのものです。メディア調査期間内には RTOS の歴史回顧長文が 1 件だけヒットしました(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 の今期 2 件のヒットはいずれも threads と ThreadShelf の文字列誤マッチであり、一括で除外しました。Google News 英語側の期間内に関連稿はありません。
  • 3 編の大会作品は同日公開でテーマが近く、それぞれのトラック別に収録し、技術的詳細を失わないよう 1 件に統合しませんでした。

付録:情報源核查表と情報源リスト

情報源核查表

情報源 調査結果
公式ニュースインターフェース(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 中国語 調査期間内にRTOS回顧長文1件、元サイトの取得制限により未収録
Google News 英語 調査期間内に関連ヒットなし
HN Algolia 2件のthreadsがThreadShelfと誤マッチ、バッチ全体を除外

完全な情報源リスト