From 049f92d767a634e87ca392534201680b9ed293e3 Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Sat, 22 Feb 2025 08:08:57 -0800 Subject: [PATCH] vendor: update cdi to v0.8.1 for panic fix Signed-off-by: Tonis Tiigi --- cmd/buildkitd/main.go | 7 +++++++ go.mod | 2 +- go.sum | 4 ++-- vendor/modules.txt | 2 +- .../container-device-interface/pkg/cdi/cache.go | 8 ++++++++ 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/cmd/buildkitd/main.go b/cmd/buildkitd/main.go index 364252a59b34..8b6e0b3653c8 100644 --- a/cmd/buildkitd/main.go +++ b/cmd/buildkitd/main.go @@ -1067,6 +1067,13 @@ func getCDIManager(cfg config.CDIConfig) (*cdidevices.Manager, error) { if err := cdiCache.Refresh(); err != nil { return nil, err } + if errs := cdiCache.GetErrors(); len(errs) > 0 { + for dir, errs := range errs { + for _, err := range errs { + bklog.L.Warnf("CDI setup error %v: %+v", dir, err) + } + } + } return cdiCache, nil }() if err != nil { diff --git a/go.mod b/go.mod index fe5a805c6cca..7236c50f0d7d 100644 --- a/go.mod +++ b/go.mod @@ -108,7 +108,7 @@ require ( google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 google.golang.org/protobuf v1.35.2 kernel.org/pub/linux/libs/security/libcap/cap v1.2.73 - tags.cncf.io/container-device-interface v0.8.0 + tags.cncf.io/container-device-interface v0.8.1 ) require ( diff --git a/go.sum b/go.sum index ce10e2f751c0..2323ccd7f5e5 100644 --- a/go.sum +++ b/go.sum @@ -594,7 +594,7 @@ kernel.org/pub/linux/libs/security/libcap/psx v1.2.73/go.mod h1:+l6Ee2F59XiJ2I6W sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= -tags.cncf.io/container-device-interface v0.8.0 h1:8bCFo/g9WODjWx3m6EYl3GfUG31eKJbaggyBDxEldRc= -tags.cncf.io/container-device-interface v0.8.0/go.mod h1:Apb7N4VdILW0EVdEMRYXIDVRZfNJZ+kmEUss2kRRQ6Y= +tags.cncf.io/container-device-interface v0.8.1 h1:c0jN4Mt6781jD67NdPajmZlD1qrqQyov/Xfoab37lj0= +tags.cncf.io/container-device-interface v0.8.1/go.mod h1:Apb7N4VdILW0EVdEMRYXIDVRZfNJZ+kmEUss2kRRQ6Y= tags.cncf.io/container-device-interface/specs-go v0.8.0 h1:QYGFzGxvYK/ZLMrjhvY0RjpUavIn4KcmRmVP/JjdBTA= tags.cncf.io/container-device-interface/specs-go v0.8.0/go.mod h1:BhJIkjjPh4qpys+qm4DAYtUyryaTDg9zris+AczXyws= diff --git a/vendor/modules.txt b/vendor/modules.txt index 5f5ee4e5da65..12e99ac6987c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1148,7 +1148,7 @@ kernel.org/pub/linux/libs/security/libcap/psx ## explicit; go 1.12 sigs.k8s.io/yaml sigs.k8s.io/yaml/goyaml.v2 -# tags.cncf.io/container-device-interface v0.8.0 +# tags.cncf.io/container-device-interface v0.8.1 ## explicit; go 1.20 tags.cncf.io/container-device-interface/internal/validation tags.cncf.io/container-device-interface/internal/validation/k8s diff --git a/vendor/tags.cncf.io/container-device-interface/pkg/cdi/cache.go b/vendor/tags.cncf.io/container-device-interface/pkg/cdi/cache.go index c2f7fe346376..9afa4b18202e 100644 --- a/vendor/tags.cncf.io/container-device-interface/pkg/cdi/cache.go +++ b/vendor/tags.cncf.io/container-device-interface/pkg/cdi/cache.go @@ -564,6 +564,14 @@ func (w *watch) update(dirErrors map[string]error, removed ...string) bool { update bool ) + // If we failed to create an fsnotify.Watcher we have a nil watcher here + // (but with autoRefresh left on). One known case when this can happen is + // if we have too many open files. In that case we always return true and + // force a refresh. + if w.watcher == nil { + return true + } + for dir, ok = range w.tracked { if ok { continue