diff --git a/cmd/nvidia-ctk-installer/container/toolkit/toolkit.go b/cmd/nvidia-ctk-installer/container/toolkit/toolkit.go index 7319662a..a77851e1 100644 --- a/cmd/nvidia-ctk-installer/container/toolkit/toolkit.go +++ b/cmd/nvidia-ctk-installer/container/toolkit/toolkit.go @@ -260,6 +260,18 @@ func (t *Installer) ValidateOptions(opts *Options) error { opts.CDI.Enabled = false } + if opts.CDI.Enabled { + vendor, class := parser.ParseQualifier(opts.CDI.kind) + if err := parser.ValidateVendorName(vendor); err != nil { + return fmt.Errorf("invalid CDI vendor name: %v", err) + } + if err := parser.ValidateClassName(class); err != nil { + return fmt.Errorf("invalid CDI class name: %v", err) + } + opts.CDI.vendor = vendor + opts.CDI.class = class + } + isDisabled := false for _, mode := range opts.createDeviceNodes.Value() { if mode != "" && mode != "none" && mode != "control" {