@@ -126,7 +126,12 @@ and daemon-reported CDI spec directories to build a workload CDI context. The
126126driver embeds the context in the protected boundary configuration and
127127projects the spec directories read-only under the protected ` /.openshell/cdi-specs `
128128hierarchy. These structured binds neither create missing host directories nor
129- relabel existing directories. Every daemon-reported directory must exist and be
129+ relabel existing directories. Before creating a GPU sandbox, OpenShell checks each directory with a temporary,
130+ stopped container using the prepared workload image. It skips confirmed missing
131+ directories and records only the available projections. Probe results are cached
132+ for 30 seconds and refreshed on demand; sandbox creation is not retried.
133+ At least one directory must remain and every selected device must resolve from
134+ its specs. Permission errors still fail creation; existing directories must be
130135readable under the host's SELinux policy. Agent processes cannot read the
131136projections, even with a broad authored filesystem grant. If context
132137creation fails, the driver removes the created state. If workload or supervisor
@@ -136,6 +141,16 @@ requirements from CDI specs before launching agent processes. Non-GPU Docker
136141sandboxes do not receive the CDI context, spec mounts, or CDI-derived policy
137142changes.
138143
144+ Existing Docker GPU containers without CDI context retain the legacy GPU
145+ filesystem baseline on restart. Admission requires spec projections only when
146+ the driver-owned boundary configuration contains CDI context, and validates
147+ those projections against the directories recorded at creation. Missing or
148+ unreadable boundary configuration blocks restart. To use CDI-derived access on
149+ an older sandbox, recreate it. Ordinary CDI file and directory mounts must be
150+ effectively read-only. Filesystem ` read_write ` grants do not authorize writable
151+ CDI mounts; explicit authorization for CDI host writes is not currently
152+ supported. Device nodes and Unix socket communication remain supported.
153+
139154### Docker Corporate Proxy Egress
140155
141156For proxy-required networks, the Docker driver accepts ` https_proxy ` ,
0 commit comments