From 76b573979410bb62ed3fd54bd2c2972b241a59bc Mon Sep 17 00:00:00 2001 From: zhongjiawei Date: Thu, 21 Dec 2023 17:02:55 +0800 Subject: [PATCH] containerd:sync some patches --- containerd.spec | 8 ++- git-commit | 2 +- patch/0106-containerd-bump-ttrpc.patch | 46 +++++++++++++++++ ...7-containerd-Fix-missing-closed-fifo.patch | 38 ++++++++++++++ ...te-TTRPC-and-Protobuild-dependencies.patch | 51 +++++++++++++++++++ series.conf | 3 ++ 6 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 patch/0106-containerd-bump-ttrpc.patch create mode 100644 patch/0107-containerd-Fix-missing-closed-fifo.patch create mode 100644 patch/0108-containerd-Update-TTRPC-and-Protobuild-dependencies.patch diff --git a/containerd.spec b/containerd.spec index 8aeb805..30c3255 100644 --- a/containerd.spec +++ b/containerd.spec @@ -2,7 +2,7 @@ %global debug_package %{nil} Version: 1.2.0 Name: containerd -Release: 314 +Release: 315 Summary: An industry-standard container runtime License: ASL 2.0 URL: https://containerd.io @@ -72,6 +72,12 @@ install -p -m 755 bin/ctr $RPM_BUILD_ROOT/%{_bindir}/ctr %{_bindir}/ctr %changelog +* Thu Dec 21 2023 zhongjiawei - 1.2.0-315 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:sync some patches + * Mon Nov 27 2023 zhongjiawei - 1.2.0-314 - Type:bugfix - ID:NA diff --git a/git-commit b/git-commit index f515c94..b06b9a9 100644 --- a/git-commit +++ b/git-commit @@ -1 +1 @@ -b321eaf0a6a358dab67ebc5f3d5e4795a5e3354d +b57240907ae3e0f3f5251b6f28463ad61976baf4 diff --git a/patch/0106-containerd-bump-ttrpc.patch b/patch/0106-containerd-bump-ttrpc.patch new file mode 100644 index 0000000..3f43b28 --- /dev/null +++ b/patch/0106-containerd-bump-ttrpc.patch @@ -0,0 +1,46 @@ +From 55e0671ff64532964c2de038d98be0e6a73bcfe7 Mon Sep 17 00:00:00 2001 +From: Georgi Sabev +Date: Mon, 13 May 2019 16:21:04 +0100 +Subject: [PATCH] Bump ttrpc + +Co-authored-by: Giuseppe Capizzi +Signed-off-by: Georgi Sabev +--- + vendor.conf | 2 +- + vendor/github.com/containerd/ttrpc/server.go | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/vendor.conf b/vendor.conf +index 0f76be3b0..35c887dde 100644 +--- a/vendor.conf ++++ b/vendor.conf +@@ -36,7 +36,7 @@ github.com/Microsoft/go-winio v0.4.11 + github.com/Microsoft/hcsshim v0.7.12 + google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944 + golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4 +-github.com/containerd/ttrpc 699c4e40d1e7416e08bf7019c7ce2e9beced4636 ++github.com/containerd/ttrpc f82148331ad2181edea8f3f649a1f7add6c3f9c2 + github.com/syndtr/gocapability db04d3cc01c8b54962a58ec7e491717d06cfcc16 + gotest.tools v2.1.0 + github.com/google/go-cmp v0.1.0 +diff --git a/vendor/github.com/containerd/ttrpc/server.go b/vendor/github.com/containerd/ttrpc/server.go +index 263cb4583..ab2fdf2fc 100644 +--- a/vendor/github.com/containerd/ttrpc/server.go ++++ b/vendor/github.com/containerd/ttrpc/server.go +@@ -446,7 +446,12 @@ func (c *serverConn) run(sctx context.Context) { + // branch. Basically, it means that we are no longer receiving + // requests due to a terminal error. + recvErr = nil // connection is now "closing" +- if err != nil && err != io.EOF { ++ if err == io.EOF || err == io.ErrUnexpectedEOF { ++ // The client went away and we should stop processing ++ // requests, so that the client connection is closed ++ return ++ } ++ if err != nil { + logrus.WithError(err).Error("error receiving message") + } + case <-shutdown: +-- +2.33.0 + diff --git a/patch/0107-containerd-Fix-missing-closed-fifo.patch b/patch/0107-containerd-Fix-missing-closed-fifo.patch new file mode 100644 index 0000000..e2c2ae9 --- /dev/null +++ b/patch/0107-containerd-Fix-missing-closed-fifo.patch @@ -0,0 +1,38 @@ +From 1c93da5ded1b80338ae4014084ce005f89e20a94 Mon Sep 17 00:00:00 2001 +From: Shiming Zhang +Date: Mon, 31 Oct 2022 17:18:27 +0800 +Subject: [PATCH] Fix missing closed fifo + +Signed-off-by: Shiming Zhang +--- + runtime/v1/shim/service_linux.go | 1 + + runtime/v2/runc/service_linux.go | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/runtime/v1/shim/service_linux.go b/runtime/v1/shim/service_linux.go +index 307e20d..b8b85f6 100644 +--- a/runtime/v1/shim/service_linux.go ++++ b/runtime/v1/shim/service_linux.go +@@ -54,6 +54,7 @@ func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console + io.CopyBuffer(epollConsole, in, *bp) + // we need to shutdown epollConsole when pipe broken + epollConsole.Shutdown(p.epoller.CloseConsole) ++ in.Close() + }() + } + +diff --git a/runtime/v2/runc/service_linux.go b/runtime/v2/runc/service_linux.go +index 195c230..de85993 100644 +--- a/runtime/v2/runc/service_linux.go ++++ b/runtime/v2/runc/service_linux.go +@@ -54,6 +54,7 @@ func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console + io.CopyBuffer(epollConsole, in, *bp) + // we need to shutdown epollConsole when pipe broken + epollConsole.Shutdown(p.epoller.CloseConsole) ++ in.Close() + }() + } + +-- +2.33.0 + diff --git a/patch/0108-containerd-Update-TTRPC-and-Protobuild-dependencies.patch b/patch/0108-containerd-Update-TTRPC-and-Protobuild-dependencies.patch new file mode 100644 index 0000000..97f66e0 --- /dev/null +++ b/patch/0108-containerd-Update-TTRPC-and-Protobuild-dependencies.patch @@ -0,0 +1,51 @@ +From 99580e0aad981d8be11a0d8e7ad2c24130b2dc8d Mon Sep 17 00:00:00 2001 +From: Maksym Pavlenko +Date: Thu, 19 Jan 2023 10:52:41 -0800 +Subject: [PATCH] Update TTRPC and Protobuild dependencies + +Signed-off-by: Maksym Pavlenko +--- + vendor/github.com/containerd/ttrpc/server.go | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/vendor/github.com/containerd/ttrpc/server.go b/vendor/github.com/containerd/ttrpc/server.go +index ab2fdf2..7445d93 100644 +--- a/vendor/github.com/containerd/ttrpc/server.go ++++ b/vendor/github.com/containerd/ttrpc/server.go +@@ -18,14 +18,15 @@ package ttrpc + + import ( + "context" ++ "errors" + "io" + "math/rand" + "net" + "sync" + "sync/atomic" ++ "syscall" + "time" + +- "github.com/pkg/errors" + "github.com/sirupsen/logrus" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +@@ -446,14 +447,12 @@ func (c *serverConn) run(sctx context.Context) { + // branch. Basically, it means that we are no longer receiving + // requests due to a terminal error. + recvErr = nil // connection is now "closing" +- if err == io.EOF || err == io.ErrUnexpectedEOF { ++ if err == io.EOF || err == io.ErrUnexpectedEOF || errors.Is(err, syscall.ECONNRESET) { + // The client went away and we should stop processing + // requests, so that the client connection is closed + return + } +- if err != nil { +- logrus.WithError(err).Error("error receiving message") +- } ++ logrus.WithError(err).Error("error receiving message") + case <-shutdown: + return + } +-- +2.33.0 + diff --git a/series.conf b/series.conf index 5826df2..31dcc14 100644 --- a/series.conf +++ b/series.conf @@ -113,4 +113,7 @@ patch/0104-containerd-bugfix-add-nil-pointer-check-for-cgroup-v1-mem-usage.patch patch/0105-containerd-fix-allow-attaching-to-any-combination-of-stdin-stdo.patch # sw_64 sw64_patch/3000-bbolt-add-support-sw_64.patch +patch/0106-containerd-bump-ttrpc.patch +patch/0107-containerd-Fix-missing-closed-fifo.patch +patch/0108-containerd-Update-TTRPC-and-Protobuild-dependencies.patch # end -- Gitee