fix(gpu): derive CUDA-required Jetson sysfs policy
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- docker, rust
調査の方向性
既存のCDI派生ハードウェアポリシーと#1606の拒否動作から始め、その後#2846と#8910の証拠を確認します。最小限のJetson OpenRM sysfs契約を定義し、承認済み、安全でない、欠落、および非GPUのケースに対するハードウェア不要のテストを追加して、AGX ThorとIGX Orinで必要なCUDA、オンボーディング、ライフサイクルの動作を検証します。
索引モデルが issue の本文から書いたものです。
説明
Problem
Native Docker CDI can inject the Jetson GPU devices, libraries, and supplemental groups correctly, but the OpenShell supervisor's inner Landlock policy still prevents non-root CUDA initialization on NVIDIA Jetson AGX Thor.
This was isolated while validating the CDI stack in #1606 through #2775, #2776, #2265, and #2846 for NVIDIA/NemoClaw#7610 / NVIDIA/NemoClaw#8910:
host cuInit(0)=0
plain Docker CDI cuInit(0)=0
same container and non-root UID/GIDs cuInit(0)=0
OpenShell native CDI without sysfs access cuInit(0)=801
OpenShell native CDI with read-only /sys cuInit(0)=0
The successful run used a qualification-only broad read-only /sys grant. That proves the missing boundary but is not an acceptable production fix. OpenShell remains the owner of CDI-derived hardware policy; downstream consumers must not guess or trust arbitrary additive paths.
Expected behavior
For a supported Jetson CDI device, OpenShell derives or supplies the minimum CUDA-required read-only sysfs contract and the non-root sandbox user can initialize CUDA. Non-GPU sandboxes receive no additional sysfs access. Missing, malformed, or unsafe hardware requirements fail closed with an actionable diagnostic.
Acceptance
- Identify and document the minimum sysfs paths required by Jetson OpenRM; do not grant broad
/sysby default. - Represent the requirement through a stable OpenShell-owned CDI/policy contract rather than a downstream static allowlist.
- Preserve the current rejection of unsafe broad CDI-derived paths from #1606.
- Add hardware-free policy tests for the derived/approved paths, unsafe paths, missing metadata, and the non-GPU negative case.
- On exact released commits, complete full onboarding with exit 0 and prove non-root
nvidia-smi,/proc/<pid>/task/<tid>/commwrite, andcuInit(0)=0on both AGX Thor and IGX Orin. - Prove CUDA remains usable after supported restart, resume, and rebuild lifecycles.
Current evidence
- NVIDIA/OpenShell#2846#issuecomment-5684128551 records the AGX Thor A/B result and the qualification-only workaround.
- NVIDIA/NemoClaw#8910#issuecomment-5684731268 records the accepted downstream ownership, compatibility, security, and validation decision.
- 主要言語
- Rust
- スター
- 8.7k
- フォーク
- 1.3k
- 平均マージ
- 2日 6時間
- マージ済み PR(30日)
- 236
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/OpenShell のほかの issue
-
area:docs
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
state:triage-needed
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
area:cli state:validated
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
state:triage-needed
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
area:build spike state:review-ready state:stale
難易度 2/5 半日 初心者へのやさしさ 68/100
NVIDIA/OpenShell の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
ontola/atomic-server#1625 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
VirusTotal/yara-x#777 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
stratum-mining/stratum#2404 ·
-
bug ci good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100