Your message dated Sat, 10 Jan 2026 11:52:34 +0000
with message-id <[email protected]>
and subject line Released with 13.3
has caused the Debian Bug report #1124036,
regarding trixie-pu: package lxc/1:6.0.4-4+deb13u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1124036: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1124036
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: trixie
User: [email protected]
Usertags: pu
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:lxc

[ Reason ]
Fix a handful of minor bugs affecting the version of lxc in trixie:

  * Add lxc-net dependency to sysvinit script
  * Stop printing misleading errors in enter_net_ns()
  * Fix generation of apparmor.d/abstractions/lxc/container-base
  * Fix restarting unprivileged containers

[ Impact ]
Users running lxc in trixie currently encounter small but annoying
bugs.

[ Tests ]
The sysvinit fix was provided by an affected user, and is a trivial
patch. I have tested the other three patches myself to verify that they
properly fix the associated bugs.

[ Risks ]
Minor/none -- the sysvinit patch is trivial and the other three are
targeted fixes cherry-picked from the upstream git repo.

[ Checklist ]
  [*] *all* changes are documented in the d/changelog
  [*] I reviewed all changes and I approve them
  [*] attach debdiff against the package in (old)stable
  [*] the issue is verified as fixed in unstable

[ Changes ]
Four patches as outlined above.

[ Other info ]
The source debdiff is attached.
diff -Nru lxc-6.0.4/debian/changelog lxc-6.0.4/debian/changelog
--- lxc-6.0.4/debian/changelog	2025-05-30 12:58:12.000000000 +0000
+++ lxc-6.0.4/debian/changelog	2025-12-26 19:02:22.000000000 +0000
@@ -1,3 +1,18 @@
+lxc (1:6.0.4-4+deb13u1) trixie; urgency=medium
+
+  [ Frost ]
+  * Add lxc-net dependency to sysvinit script (Closes: #1122149)
+
+  [ Mathias Gibbens ]
+  * Cherry-pick upstream fix to stop printing misleading errors in
+    enter_net_ns() (Closes: #1118024)
+  * Cherry-pick upstream fix for generating
+    apparmor.d/abstractions/lxc/container-base (partially addresses: #1111087)
+  * Cherry-pick upstream fix for restarting unprivileged containers
+    (Closes: #1123979)
+
+ -- Mathias Gibbens <[email protected]>  Fri, 26 Dec 2025 19:02:22 +0000
+
 lxc (1:6.0.4-4) unstable; urgency=medium
 
   [ Aurelien Jarno ]
diff -Nru lxc-6.0.4/debian/gbp.conf lxc-6.0.4/debian/gbp.conf
--- lxc-6.0.4/debian/gbp.conf	2025-05-30 12:58:12.000000000 +0000
+++ lxc-6.0.4/debian/gbp.conf	2025-12-26 19:02:22.000000000 +0000
@@ -1,3 +1,3 @@
 [DEFAULT]
 pristine-tar = True
-debian-branch = debian/sid
+debian-branch = debian/trixie
diff -Nru lxc-6.0.4/debian/patches/0101-cherry-pick-fix-misleading-errors.patch lxc-6.0.4/debian/patches/0101-cherry-pick-fix-misleading-errors.patch
--- lxc-6.0.4/debian/patches/0101-cherry-pick-fix-misleading-errors.patch	1970-01-01 00:00:00.000000000 +0000
+++ lxc-6.0.4/debian/patches/0101-cherry-pick-fix-misleading-errors.patch	2025-12-26 19:02:22.000000000 +0000
@@ -0,0 +1,82 @@
+From a53589e0636b42a2816375c9a2c1c4be09100297 Mon Sep 17 00:00:00 2001
+From: Alexander Mikhalitsyn <[email protected]>
+Date: Mon, 28 Jul 2025 19:00:29 +0200
+Subject: [PATCH] lxc/lxccontainer: stop printing misleading errors in
+ enter_net_ns()
+
+In enter_net_ns() we try to enter network namespace at first, before
+entering a user namespace to support inherited netns case properly.
+It is expected to get EPERM for unprivileged container with non-shared
+network namespace at first try. Let's take this into account
+and stop misleading users with these error messages.
+
+Link: https://discuss.linuxcontainers.org/t/lxc-ls-fancy-command-shows-operation-not-permitted/24080
+Fixes: 3011e79f92ef ("lxccontainer: fix enter_net_ns helper to work when netns is inherited")
+Fixes: #4560
+Signed-off-by: Alexander Mikhalitsyn <[email protected]>
+---
+ src/lxc/lxccontainer.c |  2 +-
+ src/lxc/utils.c        | 10 +++++++---
+ src/lxc/utils.h        |  8 +++++++-
+ 3 files changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c
+index 7b9ff9641d..6c80065a65 100644
+--- a/src/lxc/lxccontainer.c
++++ b/src/lxc/lxccontainer.c
+@@ -2220,7 +2220,7 @@ static inline bool enter_net_ns(struct lxc_container *c)
+ 	if (pid < 0)
+ 		return false;
+ 
+-	net_ns_entered = switch_to_ns(pid, "net");
++	net_ns_entered = try_switch_to_ns(pid, "net", true);
+ 
+ 	if ((geteuid() != 0 || (c->lxc_conf && !list_empty(&c->lxc_conf->id_map))) &&
+ 	    (access("/proc/self/ns/user", F_OK) == 0))
+diff --git a/src/lxc/utils.c b/src/lxc/utils.c
+index 60f2b70003..af276a3b55 100644
+--- a/src/lxc/utils.c
++++ b/src/lxc/utils.c
+@@ -878,7 +878,7 @@ int detect_shared_rootfs(void)
+ 	return 0;
+ }
+ 
+-bool switch_to_ns(pid_t pid, const char *ns)
++bool try_switch_to_ns(pid_t pid, const char *ns, bool optional)
+ {
+ 	__do_close int fd = -EBADF;
+ 	int ret;
+@@ -896,8 +896,12 @@ bool switch_to_ns(pid_t pid, const char *ns)
+ 		return log_error_errno(false, errno, "Failed to open \"%s\"", nspath);
+ 
+ 	ret = setns(fd, 0);
+-	if (ret)
+-		return log_error_errno(false, errno, "Failed to set process %d to \"%s\" of %d", pid, ns, fd);
++	if (ret) {
++		if (optional)
++			return log_trace_errno(false, errno, "Failed to set process %d to \"%s\" of %d", pid, ns, fd);
++		else
++			return log_error_errno(false, errno, "Failed to set process %d to \"%s\" of %d", pid, ns, fd);
++	}
+ 
+ 	return true;
+ }
+diff --git a/src/lxc/utils.h b/src/lxc/utils.h
+index 0007b51a60..e72582aa24 100644
+--- a/src/lxc/utils.h
++++ b/src/lxc/utils.h
+@@ -134,7 +134,13 @@ __hidden extern bool is_shared_mountpoint(const char *path);
+ __hidden extern int detect_shared_rootfs(void);
+ __hidden extern bool detect_ramfs_rootfs(void);
+ __hidden extern char *on_path(const char *cmd, const char *rootfs);
+-__hidden extern bool switch_to_ns(pid_t pid, const char *ns);
++
++__hidden extern bool try_switch_to_ns(pid_t pid, const char *ns, bool optional);
++inline static bool switch_to_ns(pid_t pid, const char *ns)
++{
++	return try_switch_to_ns(pid, ns, false);
++}
++
+ __hidden extern char *get_template_path(const char *t);
+ __hidden extern int safe_mount(const char *src, const char *dest, const char *fstype,
+ 			       unsigned long flags, const void *data, const char *rootfs);
diff -Nru lxc-6.0.4/debian/patches/0102-cherry-pick-apparmor-generation.patch lxc-6.0.4/debian/patches/0102-cherry-pick-apparmor-generation.patch
--- lxc-6.0.4/debian/patches/0102-cherry-pick-apparmor-generation.patch	1970-01-01 00:00:00.000000000 +0000
+++ lxc-6.0.4/debian/patches/0102-cherry-pick-apparmor-generation.patch	2025-12-26 19:02:22.000000000 +0000
@@ -0,0 +1,56 @@
+From 52929fc21809d57bb57f86142bc8d84223d44b7f Mon Sep 17 00:00:00 2001
+From: Mathias Gibbens <[email protected]>
+Date: Sun, 26 Oct 2025 20:02:29 +0000
+Subject: [PATCH] config/apparmor/abstractions: Fix meson build generation of
+ container-base
+
+Previously, abstractions/container-base was a hand-generated concatenation of
+two different files, abstractions/container-base.in and container-rules. This
+was confusing, since the meson configuration didn't actually create
+abstractions/container-base from abstractions/container-base.in. Now, the
+previously manual step of creating abstractions/container-base is part of the
+meson configure step.
+
+Signed-off-by: Mathias Gibbens <[email protected]>
+---
+ config/apparmor/README                   | 14 ++++----------
+ config/apparmor/abstractions/meson.build |  5 +++--
+ 2 files changed, 7 insertions(+), 12 deletions(-)
+
+diff --git a/config/apparmor/README b/config/apparmor/README
+index 432956b9ae..76031601ad 100644
+--- a/config/apparmor/README
++++ b/config/apparmor/README
+@@ -1,12 +1,6 @@
+-The abstractions/container-base file is partially automatically
+-generated.  The two source files are container-rules.base and
+-abstractions/container-base.in.  If these file are updated,
+-then
+-
+-1. Generate a new container-rules file using
++The abstractions/container-base file installed is automatically
++generated.  Its two source files are container-rules.base and
++abstractions/container-base.in.  If container-rules.base is updated,
++generate a new container-rules file using
+ 
+ ./lxc-generate-aa-rules.py container-rules.base > container-rules
+-
+-2. Concatenate container-base.in with container-rules using
+-
+-cat abstractions/container-base.in container-rules > abstractions/container-base
+diff --git a/config/apparmor/abstractions/meson.build b/config/apparmor/abstractions/meson.build
+index b8a8e40339..8424c38b0b 100644
+--- a/config/apparmor/abstractions/meson.build
++++ b/config/apparmor/abstractions/meson.build
+@@ -2,8 +2,9 @@
+ 
+ if libapparmor.found()
+     configure_file(
+-        configuration: conf,
+-        input: 'container-base',
++        command: ['cat', '@INPUT@'],
++        capture: true,
++        input: ['container-base.in', '../container-rules'],
+         output: 'container-base',
+         install: true,
+         install_dir: join_paths(sysconfdir, 'apparmor.d', 'abstractions', 'lxc'))
diff -Nru lxc-6.0.4/debian/patches/0103-cherry-pick-fix-dbus-reboots.patch lxc-6.0.4/debian/patches/0103-cherry-pick-fix-dbus-reboots.patch
--- lxc-6.0.4/debian/patches/0103-cherry-pick-fix-dbus-reboots.patch	1970-01-01 00:00:00.000000000 +0000
+++ lxc-6.0.4/debian/patches/0103-cherry-pick-fix-dbus-reboots.patch	2025-12-26 19:02:22.000000000 +0000
@@ -0,0 +1,43 @@
+From 0f5852edfad06fe4e9f00aaddd3d93576269729e Mon Sep 17 00:00:00 2001
+From: Serge Hallyn <[email protected]>
+Date: Tue, 23 Dec 2025 13:56:31 -0600
+Subject: [PATCH] cgfsng: fix reboots when using dbus
+
+When using dbus on a systemd system, we ask systemd to create a
+"scope" for us to run in.  We send a dbus message, and wait
+for the reply saying it is created.
+
+When we reboot, we were re-sending the request to create the
+scope.  However, the scope still exists, because or single
+lxc-monitor (originally lxc-start) thread is still under the
+'lxc.pivot' sub-directory of the scope.
+
+But, on reboot, our lxc_conf already has our scope recorded!
+So, just check whether that is set, and skip scope creation
+if so.
+
+With this patch, i can reboot ad nauseum with no apparent
+problems.
+
+We could probably move this check to the top of the function,
+but for now this fixes the bug.
+
+Signed-off-by: Serge Hallyn <[email protected]>
+---
+ src/lxc/cgroups/cgfsng.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c
+index eea2b1f6d9..81994817c5 100644
+--- a/src/lxc/cgroups/cgfsng.c
++++ b/src/lxc/cgroups/cgfsng.c
+@@ -1521,6 +1521,9 @@ static int unpriv_systemd_create_scope(struct cgroup_ops *ops, struct lxc_conf *
+ 		dbus_threads_initialized = true;
+ 	}
+ 
++	if (conf->cgroup_meta.systemd_scope != NULL)
++		return log_error(true, "Already in a scope, must be a reboot.");
++
+ 	connection = open_systemd();
+ 	if (connection == NULL)
+ 		return log_error(false, "Failed opening dbus connection");
diff -Nru lxc-6.0.4/debian/patches/0104-Add-lxc-net-as-dependency-in-sysvinit-script.patch lxc-6.0.4/debian/patches/0104-Add-lxc-net-as-dependency-in-sysvinit-script.patch
--- lxc-6.0.4/debian/patches/0104-Add-lxc-net-as-dependency-in-sysvinit-script.patch	1970-01-01 00:00:00.000000000 +0000
+++ lxc-6.0.4/debian/patches/0104-Add-lxc-net-as-dependency-in-sysvinit-script.patch	2025-12-26 19:02:22.000000000 +0000
@@ -0,0 +1,28 @@
+From 8f67650034c0b031cc2b24314c8167baaa8fbe44 Mon Sep 17 00:00:00 2001
+From: Frost <[email protected]>
+Date: Sun, 7 Dec 2025 15:56:49 -0800
+Subject: [PATCH] Add lxc-net as dependency in sysvinit script
+
+Otherwise containers don't start during boot, but come up fine later.
+---
+ config/init/sysvinit/lxc-containers.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/config/init/sysvinit/lxc-containers.in b/config/init/sysvinit/lxc-containers.in
+index f793d20..5543b05 100644
+--- a/config/init/sysvinit/lxc-containers.in
++++ b/config/init/sysvinit/lxc-containers.in
+@@ -9,8 +9,8 @@
+ # Provides: lxc
+ # Required-Start: $syslog $remote_fs
+ # Required-Stop: $syslog $remote_fs
+-# Should-Start: cgroupfs-mount
+-# Should-Stop: cgroupfs-mount
++# Should-Start: cgroupfs-mount lxc-net
++# Should-Stop: cgroupfs-mount lxc-net
+ # Default-Start: 2 3 4 5
+ # Default-Stop: 0 1 6
+ # Short-Description: Bring up/down LXC autostart containers
+-- 
+2.51.0
+
diff -Nru lxc-6.0.4/debian/patches/series lxc-6.0.4/debian/patches/series
--- lxc-6.0.4/debian/patches/series	2025-05-30 12:58:12.000000000 +0000
+++ lxc-6.0.4/debian/patches/series	2025-12-26 19:02:22.000000000 +0000
@@ -3,3 +3,7 @@
 0003-apparmor-4x-userns.patch
 0004-cherry-pick-complex-hooks-fix.patch
 0005-cherry-pick-loong64.patch
+0101-cherry-pick-fix-misleading-errors.patch
+0102-cherry-pick-apparmor-generation.patch
+0103-cherry-pick-fix-dbus-reboots.patch
+0104-Add-lxc-net-as-dependency-in-sysvinit-script.patch

Attachment: signature.asc
Description: This is a digitally signed message part


--- End Message ---
--- Begin Message ---
Package: release.debian.org\nVersion: 13.3\n\nThis update has been released as 
part of Debian 13.3.

--- End Message ---

Reply via email to