SRU of LXC 4.0.6 to focal (upstream bugfix release)

Bug #1923232 reported by Serge Hallyn
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lxc (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Fix Released
High
Serge Hallyn

Bug Description

LXC released 4.0.6 as a bugfix release with the following changelog:

    - Improve handling for compatibility architectures for seccomp
    - Harden seccomp notifier implementation
    - Rework parsing of /proc/<pid>/mountinfo to handle kernel regression
    - Improve network device restoration
    - Significantly cleanup and harden config file parsing
    - Support new capabilities CAP_PERFORM, CAP_BPF, and CAP_CHECKPOINT_RESTORE
    - Harden containers started without CAP_NET_ADMIN
  * New upstream bugfix release (4.0.5):
    - Support allocating PTS devices from within the container
    - Harden more path/mount handling logics
    - Rework LSM logic to limit initializer use
  * Cherry-pick upstream fixes:
    - 0002-commands-fix-check-for-seccomp-notify-support.patch
    - 0003-configure-skip-libseccomp-tests-if-it-is-disabled.patch
    - 0004-conf-fix-containers-retaining-CAP_NET_ADMIN.patch
    - 0005-cgroups-fix-cgroup-mounting.patch
    - 0006-lsm-remove-obsolute-comment-about-constructor.patch
    - 0007-lxc_attach-include-rexec-conditionally.patch
    - 0008-tree-wide-fix-some-header-inclusions.patch
    - 0009-initutils-fix-missing-includes.patch
    - 0010-configure-support-static-binaries.patch
    - 0011-autotools-enable-static-builds-for-tools.patch
    - 0012-autotools-enable-static-builds-for-commands.patch
    - 0013-tree-wide-fix-compilation-with-Wstrict-prototypes-Wo.patch
    - 0014-config-update-ax_pthread.m4.patch
    - 0015-configure-add-AC_SYS_LARGEFILE-checking.patch
    - 0016-autotools-update-build.patch
    - 0017-file_utils-introduce-read_file_at.patch
    - 0018-string_utils-add-must_make_path_relative.patch
    - 0019-cgroups-coding-style-fixes.patch
    - 0020-cgroups-rework-cg_unified_init.patch
    - 0021-cgroups-detect-and-record-cgroup2-freezer-support.patch
    - 0022-criu-handle-cgroup2-freezer.patch
    - 0023-mkdir-p-proc-sys-on-container-startup.patch
    - 0024-conf-fix-coding-style.patch
    - 0025-conf-coding-style-fixes.patch
    - 0026-conf-move-proc-and-sys-mountpoint-creation-int-lxc_m.patch
    - 0027-attach-invert-child-parent-handling.patch
    - 0028-attach-use-__do_free-cleanup-macro-for-cwd.patch
    - 0029-attach-tweak-logging.patch
    - 0030-attach-use-__do_close-for-labelfd.patch
    - 0031-attach-coding-style-fixes.patch
    - 0032-attach-use-free_disarm.patch
    - 0033-attach-s-attach_child_main-do_attach-g.patch
    - 0034-attach-mark-do_attach-as-__noreturn.patch
    - 0035-attach-make-do_attach-void.patch
    - 0036-attach-use-close_prot_errno_disarm.patch
    - 0037-attach-add-some-DEBUG-logging-to-stdfd-dpulication.patch
    - 0038-cgroups-fix-cgroup-mounting.patch
    - 0039-utils-fix-mount_at.patch
    - 0040-configure-fix-static-builds-with-clang-12-and-LTO.patch
    - 0041-cgroups-bpf-fixes.patch
    - 0042-croups-improve-__do_bpf_program_free.patch
    - 0043-cgroups-coding-style-fixes.patch
    - 0044-cgroups-don-t-initiliaze-NULL-log.patch
    - 0045-cgroups-ensure-all-memory-is-zeroed.patch
    - 0046-cgroups-use-zalloc.patch
    - 0047-cgroups-tweak-cgroup-initialization.patch
    - 0048-log-remove-pointless-inline.patch
    - 0049-log-add-lxc_log_get_fd.patch
    - 0050-seccomp-use-lxc_log_get_fd.patch
    - 0051-log-rework-lxc_log_get_level.patch
    - 0052-seccomp-use-lxc_log_get_level.patch
    - 0053-cgroups-use-bpf-log-when-logging-at-trace-level.patch
    - 0054-log-add-lxc_log_trace-helper.patch
    - 0055-cgroups-use-PTR_TO_U64.patch
    - 0056-cgroups-align-methods.patch
    - 0057-utils-use-SYSTRACE-when-logging-stdio-permission-fix.patch
    - 0058-attach-log-failues-to-dup2-with-SYSDEBUG.patch
    - 0059-attach-fix-logging-for-stdfd-replacement.patch
    - 0060-attach-fix-error-checking-for-dup2.patch
    - 0061-cgroups-initialize-variable.patch
    - 0062-commands_utils-don-t-leak-memory.patch
    - 0063-conf-use-lxc_log_trace.patch
    - 0064-confile_utils-use-lxc_log_trace.patch
    - 0065-rexec-check-lseek-return-value.patch

  * Cherry-pick upstream bugfix:
    - cgroups: fix armhf builds

  * Cherry-pick upstream bugfix:
    - cgfsng: fix cgroup attach cgroup creation

  * New upstream bugfix release (4.0.4):
    - Support for new Linux clone flags (clone into cgroup)
    - Support for new Linux VFS system calls
    - Internal symbols are now properly hidden from external consumers
  * New upstream bugfix release (4.0.3):
    - Improvement to cgroupv1/cgroupv2 handling
    - Various improvements and tests for lxc-usernsexec

Just like Ubuntu itself, upstream releases long term support releases, e.g. 4.0, and then periodic point releases including all the accumulated bugfixes.

Only the latest upstream release gets full support from the upstream developers, everyone else is expected to first update to it before receiving any kind of support.

This should qualify under the minor upstream bugfix release allowance of the SRU policy, letting us SRU this without paperwork for every single change included in this upstream release.

[Test case]
lxc has autopkgtests which will assert that the binaries built in -proposed are functional.

Changed in lxc (Ubuntu Focal):
assignee: nobody → Serge Hallyn (serge-hallyn)
Changed in lxc (Ubuntu Bionic):
assignee: nobody → Serge Hallyn (serge-hallyn)
importance: Undecided → High
Changed in lxc (Ubuntu Focal):
importance: Undecided → High
no longer affects: lxc (Ubuntu Bionic)
Changed in lxc (Ubuntu Focal):
status: New → In Progress
Revision history for this message
Brian Murray (brian-murray) wrote :

https://wiki.ubuntu.com/StableReleaseUpdates#New_upstream_microreleases indicates thate the upstream must have "a reliable and credible test suite", "test run during package build", and "the package has an autopkgtest". Is that true for lxc? If so could you include information about that in the bug description for any future upstream microreleases? Thanks!

Changed in lxc (Ubuntu Focal):
status: In Progress → Incomplete
Revision history for this message
Stéphane Graber (stgraber) wrote :

Moving to Triaged, LXC does have a comprehensive autopkgtest test suite which runs both unit and integration tests and is integrated with Ubuntu.

Changed in lxc (Ubuntu Focal):
status: Incomplete → Opinion
status: Opinion → Triaged
Changed in lxc (Ubuntu):
status: New → Fix Released
Revision history for this message
Stéphane Graber (stgraber) wrote :
Revision history for this message
Stéphane Graber (stgraber) wrote : Please test proposed package

Hello Serge, or anyone else affected,

Accepted lxc into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/lxc/1:4.0.6-0ubuntu1~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in lxc (Ubuntu Focal):
status: Triaged → Fix Committed
tags: added: verification-needed verification-needed-focal
Revision history for this message
Scott Moser (smoser) wrote :

This would fix LP: #1918955.

Revision history for this message
Scott Moser (smoser) wrote :
Revision history for this message
Brian Murray (brian-murray) wrote :

Since this version of lxc was SRU'ed only to Ubuntu 20.04 LTS and not Ubuntu 20.10 we have a situation where the version in 20.04 is greater than 20.10. However, I tried an upgrade from 20.04 to 20.10 and the upgrade was calculable and the 20.04 version of lxc was kept installed. Given that Ubuntu 20.10 will be reaching its end of life in about 30 days (and then the upgrade from 20.04 will be to 21.04) and most people who upgrade to interim releases have already done so I think it's okay to release this.

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lxc - 1:4.0.6-0ubuntu1~20.04.1

---------------
lxc (1:4.0.6-0ubuntu1~20.04.1) focal; urgency=medium

  * Backport hirsute fixes to focal. (LP: #1923232)

 -- Serge Hallyn <email address hidden> Fri, 09 Apr 2021 11:19:38 -0500

Changed in lxc (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for lxc has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.