From 7df553ad098a1f69bc2cec6f7f8c586fb939f8ea Mon Sep 17 00:00:00 2001 From: Evan Lezar <7723350-elezar@users.noreply.gitlab.com> Date: Wed, 22 Feb 2023 15:20:26 +0000 Subject: [PATCH] Merge branch 'CNT-3965/dont-fail-chmod-hook' into 'main' Skip paths with errors in chmod hook See merge request nvidia/container-toolkit/container-toolkit!303 --- cmd/nvidia-ctk/hook/chmod/chmod.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/nvidia-ctk/hook/chmod/chmod.go b/cmd/nvidia-ctk/hook/chmod/chmod.go index cad6edfa..0a78b6e8 100644 --- a/cmd/nvidia-ctk/hook/chmod/chmod.go +++ b/cmd/nvidia-ctk/hook/chmod/chmod.go @@ -18,6 +18,7 @@ package chmod import ( "fmt" + "os" "path/filepath" "strings" "syscall" @@ -133,7 +134,12 @@ func (m command) run(c *cli.Context, cfg *config) error { func (m command) getPaths(root string, paths []string) []string { var pathsInRoot []string for _, f := range paths { - pathsInRoot = append(pathsInRoot, filepath.Join(root, f)) + path := filepath.Join(root, f) + if _, err := os.Stat(path); err != nil { + m.logger.Debugf("Skipping path %q: %v", path, err) + continue + } + pathsInRoot = append(pathsInRoot, path) } return pathsInRoot