diff --git a/pkg/nvcdi/api.go b/pkg/nvcdi/api.go index 7bf2fdc12..2953f3bbf 100644 --- a/pkg/nvcdi/api.go +++ b/pkg/nvcdi/api.go @@ -100,4 +100,8 @@ const ( // FeatureDisableIPCDiscoverer disables the inclusion of IPC sockets // (nvidia-persistenced, nvidia-fabricmanager, MPS) in the CDI spec. FeatureDisableIPCDiscoverer = FeatureFlag("disable-ipc-discoverer") + + // FeatureNoDisableDeviceNodeModificationHook disables the + // disable-device-node-modification CDI hook. + FeatureNoDisableDeviceNodeModificationHook = FeatureFlag("no-disable-device-node-modification-hook") ) diff --git a/pkg/nvcdi/options.go b/pkg/nvcdi/options.go index a5e2b1c40..e30024844 100644 --- a/pkg/nvcdi/options.go +++ b/pkg/nvcdi/options.go @@ -119,6 +119,10 @@ func populateOptions(opts ...Option) *options { o.disabledHooks = append(o.disabledHooks, HookEnableCudaCompat, DisableDeviceNodeModificationHook) } + if o.featureFlags[FeatureNoDisableDeviceNodeModificationHook] { + o.disabledHooks = append(o.disabledHooks, DisableDeviceNodeModificationHook) + } + if o.editsFactory == nil { o.editsFactory = edits.NewFactory( edits.WithLogger(o.logger),