Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package lxd for openSUSE:Factory checked in 
at 2021-06-25 15:01:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lxd (Old)
 and      /work/SRC/openSUSE:Factory/.lxd.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "lxd"

Fri Jun 25 15:01:44 2021 rev:34 rq:902316 version:4.15

Changes:
--------
--- /work/SRC/openSUSE:Factory/lxd/lxd.changes  2021-06-16 20:36:51.443326643 
+0200
+++ /work/SRC/openSUSE:Factory/.lxd.new.2625/lxd.changes        2021-06-25 
15:02:43.364252929 +0200
@@ -1,0 +2,8 @@
+Fri Jun 25 09:59:23 UTC 2021 - Aleksa Sarai <asa...@suse.com>
+
+- Add backport for <https://github.com/lxc/lxd/pull/8908> which fixes a
+  Leap-specific kernel backport bug (close_range(2) was backported but not the
+  flags that it supported in the first version). boo#1186786
+  + boo1186786-0001-forkexec-handle-broken-close_range-backport-in-openS.patch
+
+-------------------------------------------------------------------

New:
----
  boo1186786-0001-forkexec-handle-broken-close_range-backport-in-openS.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lxd.spec ++++++
--- /var/tmp/diff_new_pack.jxH1Cr/_old  2021-06-25 15:02:43.924253611 +0200
+++ /var/tmp/diff_new_pack.jxH1Cr/_new  2021-06-25 15:02:43.932253621 +0200
@@ -51,6 +51,8 @@
 # Additional runtime configuration.
 Source200:      %{name}.sysctl
 Source201:      %{name}.dnsmasq
+# UPSTREAM-FIX: Backport of <https://github.com/lxc/lxd/pull/8908>. boo#1186786
+Patch1:         
boo1186786-0001-forkexec-handle-broken-close_range-backport-in-openS.patch
 BuildRequires:  fdupes
 BuildRequires:  golang-packaging
 BuildRequires:  libacl-devel
@@ -122,6 +124,8 @@
 
 %prep
 %setup -q
+# boo#1186786
+%patch1 -p1
 
 # Create fake "go mod"-like import paths. This is going to be really fun to
 # maintain but it's unfortunately necessary because openSUSE doesn't have nice

++++++ 
boo1186786-0001-forkexec-handle-broken-close_range-backport-in-openS.patch 
++++++
>From a0c04ef1b99c94edb50084825365c2bab8dadb7c Mon Sep 17 00:00:00 2001
From: Christian Brauner <christian.brau...@ubuntu.com>
Date: Thu, 17 Jun 2021 12:45:25 +0200
Subject: [PATCH] forkexec: handle broken close_range() backport in openSUSE
 Leap 15.3

Fixes: 
https://discuss.linuxcontainers.org/t/lxc-exec-results-in-error-failed-to-retrieve-pid-of-executing-child-process
Signed-off-by: Christian Brauner <christian.brau...@ubuntu.com>
---
 lxd/main_forkexec.go | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lxd/main_forkexec.go b/lxd/main_forkexec.go
index 7cc5e8d7130c..574f25eeb988 100644
--- a/lxd/main_forkexec.go
+++ b/lxd/main_forkexec.go
@@ -292,7 +292,12 @@ __attribute__ ((noinline)) static int __forkexec(void)
 
        ret = close_range(EXEC_PIPE_FD + 1, UINT_MAX, CLOSE_RANGE_UNSHARE);
        if (ret) {
-               if (errno == ENOSYS)
+               // Fallback to close_inherited() when the syscall is not
+               // available or when CLOSE_RANGE_UNSHARE isn't supported.
+               // On a regular kernel CLOSE_RANGE_UNSHARE should always be
+               // available but openSUSE Leap 15.3 seems to have a partial
+               // backport without CLOSE_RANGE_UNSHARE support.
+               if (errno == ENOSYS || errno == EINVAL)
                        ret = close_inherited(fds_to_ignore, 
ARRAY_SIZE(fds_to_ignore));
        }
        if (ret)
-- 
2.32.0

Reply via email to