From 1a9c6f557bd163f959f99661bd95e193b4505291 Mon Sep 17 00:00:00 2001 From: Brian Goff Date: Wed, 24 Mar 2021 21:36:47 +0000 Subject: [PATCH] Revendor zfs to to fix integer overflow This currently breaks armhf builds. Signed-off-by: Brian Goff --- go.mod | 2 +- go.sum | 4 ++-- vendor/github.com/containerd/zfs/zfs.go | 7 +++++-- vendor/modules.txt | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 67b73947d..72c2c45b4 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14 github.com/containerd/ttrpc v1.0.2 github.com/containerd/typeurl v1.0.1 - github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 + github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433 github.com/containernetworking/plugins v0.8.6 github.com/coreos/go-systemd/v22 v22.1.0 github.com/davecgh/go-spew v1.1.1 diff --git a/go.sum b/go.sum index 6cf74c769..d19d52496 100644 --- a/go.sum +++ b/go.sum @@ -158,8 +158,8 @@ github.com/containerd/typeurl v1.0.1 h1:PvuK4E3D5S5q6IqsPDCy928FhP0LUIGcmZ/Yhgp5 github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= -github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 h1:8vskJ2uVsiu9pjODDUnyj6gKZ6mNPMlqPgfqV6gnuRc= -github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433 h1:oFJf1mMvgJAt2QwgEsXLMQK/qRTY8JXwsCV7No1uCb8= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= github.com/containernetworking/cni v0.8.0 h1:BT9lpgGoH4jw3lFC7Odz2prU5ruiYKcgAjMCbgybcKI= github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= diff --git a/vendor/github.com/containerd/zfs/zfs.go b/vendor/github.com/containerd/zfs/zfs.go index f7ea1f628..23ff2515f 100644 --- a/vendor/github.com/containerd/zfs/zfs.go +++ b/vendor/github.com/containerd/zfs/zfs.go @@ -36,6 +36,9 @@ const ( // active := filepath.Join(dataset.Name, id) // committed := active + "@" + snapshotSuffix snapshotSuffix = "snapshot" + + // Using this typed MaxInt64 to prevent integer overlow on 32bit + maxSnapshotSize int64 = math.MaxInt64 ) type snapshotter struct { @@ -140,8 +143,8 @@ func (z *snapshotter) usage(ctx context.Context, key string) (snapshots.Usage, e return snapshots.Usage{}, err } - if sDataset.Used > math.MaxInt64 { - return snapshots.Usage{}, errors.Errorf("Dataset size exceeds maximum snapshot size of %v bytes", math.MaxInt64) + if int64(sDataset.Used) > maxSnapshotSize { + return snapshots.Usage{}, errors.Errorf("Dataset size exceeds maximum snapshot size of %d bytes", maxSnapshotSize) } usage = snapshots.Usage{ diff --git a/vendor/modules.txt b/vendor/modules.txt index f780932de..d6e5aa383 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -105,7 +105,7 @@ github.com/containerd/ttrpc/plugin # github.com/containerd/typeurl v1.0.1 ## explicit github.com/containerd/typeurl -# github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 +# github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433 ## explicit github.com/containerd/zfs github.com/containerd/zfs/plugin