diff --git a/archive/compression/compression_test.go b/archive/compression/compression_test.go index 4de650335..fe1a62e35 100644 --- a/archive/compression/compression_test.go +++ b/archive/compression/compression_test.go @@ -20,8 +20,8 @@ import ( "bytes" "compress/gzip" "context" + "crypto/rand" "io" - "math/rand" "os" "path/filepath" "runtime" diff --git a/cmd/containerd/main.go b/cmd/containerd/main.go index 887e8158a..ccd41c3c0 100644 --- a/cmd/containerd/main.go +++ b/cmd/containerd/main.go @@ -23,12 +23,13 @@ import ( "github.com/containerd/containerd/cmd/containerd/command" "github.com/containerd/containerd/pkg/hasher" - "github.com/containerd/containerd/pkg/seed" + "github.com/containerd/containerd/pkg/seed" //nolint:staticcheck // Global math/rand seed is deprecated, but still used by external dependencies _ "github.com/containerd/containerd/cmd/containerd/builtins" ) func init() { + //nolint:staticcheck // Global math/rand seed is deprecated, but still used by external dependencies seed.WithTimeAndRand() crypto.RegisterHash(crypto.SHA256, hasher.NewSHA256) } diff --git a/cmd/ctr/main.go b/cmd/ctr/main.go index ca0def515..1845a73ed 100644 --- a/cmd/ctr/main.go +++ b/cmd/ctr/main.go @@ -23,13 +23,14 @@ import ( "github.com/containerd/containerd/cmd/ctr/app" "github.com/containerd/containerd/pkg/hasher" - "github.com/containerd/containerd/pkg/seed" + "github.com/containerd/containerd/pkg/seed" //nolint:staticcheck // Global math/rand seed is deprecated, but still used by external dependencies "github.com/urfave/cli" ) var pluginCmds = []cli.Command{} func init() { + //nolint:staticcheck // Global math/rand seed is deprecated, but still used by external dependencies seed.WithTimeAndRand() crypto.RegisterHash(crypto.SHA256, hasher.NewSHA256) } diff --git a/content/helpers.go b/content/helpers.go index f74d72a93..5404109a6 100644 --- a/content/helpers.go +++ b/content/helpers.go @@ -21,12 +21,12 @@ import ( "errors" "fmt" "io" - "math/rand" "sync" "time" "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/log" + "github.com/containerd/containerd/pkg/randutil" "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" ) @@ -123,7 +123,7 @@ func OpenWriter(ctx context.Context, cs Ingester, opts ...WriterOpt) (Writer, er // error or abort. Requires asserting for an ingest manager select { - case <-time.After(time.Millisecond * time.Duration(rand.Intn(retry))): + case <-time.After(time.Millisecond * time.Duration(randutil.Intn(retry))): if retry < 2048 { retry = retry << 1 } diff --git a/content/local/store.go b/content/local/store.go index 27aff14a4..baae3565b 100644 --- a/content/local/store.go +++ b/content/local/store.go @@ -20,7 +20,6 @@ import ( "context" "fmt" "io" - "math/rand" "os" "path/filepath" "strconv" @@ -32,6 +31,7 @@ import ( "github.com/containerd/containerd/errdefs" "github.com/containerd/containerd/filters" "github.com/containerd/containerd/log" + "github.com/containerd/containerd/pkg/randutil" "github.com/sirupsen/logrus" "github.com/opencontainers/go-digest" @@ -473,7 +473,7 @@ func (s *store) Writer(ctx context.Context, opts ...content.WriterOpt) (content. lockErr = nil break } - time.Sleep(time.Millisecond * time.Duration(rand.Intn(1<