Skip to content

Tags: kexun/runc

Tags

v1.0.0-rc93

Toggle v1.0.0-rc93's commit message

Verified

This tag was signed with the committer’s verified signature. The key has been revoked.
cyphar Aleksa Sarai
v1.0.0~rc93 -- "I never could get the hang of Thursdays."

This is the last feature-rich RC release and we are in a feature-freeze until
1.0. 1.0.0~rc94 will be released in a few weeks with minimal bug fixes only,
and 1.0.0 will be released soon afterwards.

 * runc's cgroupv2 support is no longer considered experimental. It is now
   believed to be fully ready for production deployments. In addition, runc's
   cgroup code has been improved:
   - The systemd cgroup driver has been improved to be more resilient and
     handle more systemd properties correctly.
   - We now make use of openat2(2) when possible to improve the security of
     cgroup operations (in future runc will be wholesale ported to libpathrs to
     get this protection in all codepaths).

 * runc's mountinfo parsing code has been reworked significantly, making
   container startup times significantly faster and less wasteful in general.

 * runc now has special handling for seccomp profiles to avoid making new
   syscalls unusable for glibc. This is done by installing a custom prefix to
   all seccomp filters which returns -ENOSYS for syscalls that are newer than
   any syscall in the profile (meaning they have a larger syscall number).

   This should not cause any regressions (because previously users would simply
   get -EPERM rather than -ENOSYS, and the rule applied above is the most
   conservative rule possible) but please report any regressions you find as a
   result of this change -- in particular, programs which have special fallback
   code that is only run in the case of -EPERM.

 * runc now supports the following new runtime-spec features:
   - The umask of a container can now be specified.
   - The new Linux 5.9 capabilities (CAP_PERFMON, CAP_BPF, and
     CAP_CHECKPOINT_RESTORE) are now supported.
   - The "unified" cgroup configuration option, which allows users to explicitly
     specify the limits based on the cgroup file names rather than abstracting
     them through OCI configuration. This is currently limited in scope to
     cgroupv2.

 * Various rootless containers improvements:
   - runc will no longer cause conflicts if a user specifies a custom device
     which conflicts with a user-configured device -- the user device takes
     precedence.
   - runc no longer panics if /sys/fs/cgroup is missing in rootless mode.

 * runc --root is now always treated as local to the current working directory.

 * The --no-pivot-root hardening was improved to handle nested mounts properly
   (please note that we still strongly recommend that users do not use
   --no-pivot-root -- it is still an insecure option).

 * A large number of code cleanliness and other various cleanups, including
   fairly large changes to our tests and CI to make them all run more
   efficiently.

For packagers the following changes have been made which will have impact on
your packaging of runc:

 * The "selinux" and "apparmor" buildtags have been removed, and now all runc
   builds will have SELinux and AppArmor support enabled. Note that "seccomp"
   is still optional (though we very highly recommend you enable it).

 * make install DESTDIR= now functions correctly.

Thanks to the following people who made this release possible:

 * acetang <aceapril@126.com>
 * Adrian Reber <areber@redhat.com>
 * Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
 * Aleksa Sarai <cyphar@cyphar.com>
 * Amim Knabben <amim.knabben@gmail.com>
 * An Long <aisk1988@gmail.com>
 * Aos Dabbagh <aosdab@gmail.com>
 * Ashok Pon Kumar <ashokponkumar@gmail.com>
 * Cesar Talledo <ctalledo@nestybox.com>
 * Chaitanya Bandi <kbandi@cs.stonybrook.edu>
 * Cory Bennett <cbennett@netflix.com>
 * Daniel J Walsh <dwalsh@redhat.com>
 * Eduardo Vega <edvegavalerio@gmail.com>
 * Feng Sun <loyou85@gmail.com>
 * Giuseppe Scrivano <gscrivan@redhat.com>
 * Jeff Zvier <zvier20@gmail.com>
 * Kenta Tada <Kenta.Tada@sony.com>
 * Kir Kolyshkin <kolyshkin@gmail.com>
 * Manabu Sugimoto <Manabu.Sugimoto@sony.com>
 * Mauricio Vásquez <mauricio@kinvolk.io>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mrunal Patel <mrunalp@gmail.com>
 * Paweł Szulik <pawel.szulik@intel.com>
 * Peter Hunt <pehunt@redhat.com>
 * Piotr Wagner <piotr.wagner@intel.com>
 * Sascha Grunert <sgrunert@suse.com>
 * SataQiu <1527062125@qq.com>
 * Sebastiaan van Stijn <github@gone.nl>
 * Shengjing Zhu <zhsj@debian.org>
 * Shukui Yang <keloyangsk@gmail.com>
 * wangtianxia <sometimesnaive@sjtu.edu.cn>
 * Wei Fu <fuweid89@gmail.com>
 * Xiaochen Shen <xiaochen.shen@intel.com>
 * Xiaodong Liu <liuxiaodong@loongson.cn>

Vote: +6 -0 opencontainers#1
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>

v1.0.0-rc92

Toggle v1.0.0-rc92's commit message

Verified

This tag was signed with the committer’s verified signature. The key has been revoked.
cyphar Aleksa Sarai
v1.0.0~rc92

This release contains a hotfix to solve a regression in v1.0.0-rc91 that
concerns Docker (this only affects Docker's vendoring of libcontainer,
not the usage of runc as the runtime):

 * Fix helpers used by Docker to correctly handle symlinks in /dev (when running
   with --privileged containers).

As well as some other improvements:

 * Updates to CRIU support.
 * Improvements to cgroupfs performance and correctness.

Thanks to the following people who made this release possible:

 * Adrian Reber <areber@redhat.com>
 * Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
 * Aleksa Sarai <cyphar@cyphar.com>
 * Daniel J Walsh <dwalsh@redhat.com>
 * Giuseppe Scrivano <gscrivan@redhat.com>
 * John Hwang <john.f.hwang@gmail.com>
 * Kir Kolyshkin <kolyshkin@gmail.com>
 * Lokesh Mandvekar <lsm5@fedoraproject.org>
 * Mrunal Patel <mrunalp@gmail.com>
 * Sebastiaan van Stijn <github@gone.nl>
 * tjucoder <chinesecoder@foxmail.com>
 * Xiaodong Liu <liuxiaodong@loongson.cn>
 * Xiaoyu Zhang <mateuszhang@tencent.com>
 * zvier <zvier20@gmail.com>

Vote: +4 -0 opencontainers#3
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>

v1.0.0-rc91

Toggle v1.0.0-rc91's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0-rc91

This is intended to be the second-last RC release, with -rc92 having
very few large changes so that we can release runc 1.0 (at long last).

 * The long-awaited hooks changes have been merged into runc. This was
   one of the few remaining spec-related issues which were blocking us
   from releasing runc 1.0. Existing hook users will not be affected by
   this change, but runc now supports additional hooks that we expect
   users to migrate to eventually. The new hooks are:

    - createRuntime (replacement for the now-deprecated prestart)
    - createContainer
    - startContainer

 * A large amount of effort has been undertaken to support cgroupv2
   within runc. The support is still considered experimental, but it is
   mostly functional at this point. Please report any bugs you find when
   running under cgroupv2-only systems.

 * A minor-severity security bug was fixed[1]. The devices list would
   be in allow-by-default mode from the outset, meaning that users would
   have to explicitly specify they wish to deny all device access at the
   beginning of the configuration. While this would normally be
   considered a high-severity vulnerability, all known users of runc had
   worked around this issue several years ago (hence why this fairly
   obvious bug was masked).

   In addition, the devices list code has been massively improved such
   that it will attempt to avoid causing spurrious errors in the
   container (such as while writing to /dev/null) when doing devices
   cgroup updates.

 * A security audit of runc was conducted in 2019, and the report PDF is
   now included in the runc repository. The previous release of runc
   has already addressed the security issues found in that report.

Thanks to the following people who made this release possible:

 * Adrian Reber <areber@redhat.com>
 * Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
 * Alban Crequy <alban@kinvolk.io>
 * Aleksa Sarai <asarai@suse.de>
 * Alice Frosi <afrosi@de.ibm.com>
 * Amye Scavarda Perrin <amye@linuxfoundation.org>
 * Andrei Vagin <avagin@gmail.com>
 * Boris Popovschi <zyqsempai@mail.ru>
 * Brian Goff <cpuguy83@gmail.com>
 * Chris Aniszczyk <caniszczyk@gmail.com>
 * Danail Branekov <danailster@gmail.com>
 * Giuseppe Scrivano <gscrivan@redhat.com>
 * iwankgb <maciej.iwanowski@intel.com>
 * John Hwang <John.F.Hwang@gmail.com>
 * Katarzyna Kujawa <katarzyna.kujawa@intel.com>
 * Kenta Tada <Kenta.Tada@sony.com>
 * Kir Kolyshkin <kolyshkin@gmail.com>
 * Kir Kolyshkin <kolyshkin@users.noreply.github.com>
 * Kohei Ota <kela@inductor.me>
 * l00397676 <lujingxiao@huawei.com>
 * Lifubang <lifubang@acmcoder.com>
 * Mario Nitchev <marionitchev@gmail.com>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mrunal Patel <mrunalp@gmail.com>
 * Odin Ugedal <odin@ugedal.com>
 * Paweł Szulik <pawel.szulik@intel.com>
 * Peter Hunt <pehunt@redhat.com>
 * Pradyumna Agrawal <pradyumnaa@vmware.com>
 * Qiang Huang <h.huangqiang@huawei.com>
 * Renaud Gaubert <rgaubert@nvidia.com>
 * Sascha Grunert <sgrunert@suse.com>
 * Sebastiaan van Stijn <github@gone.nl>
 * SiYu Zhao <d.chaser.zsy@gmail.com>
 * Ted Yu <yuzhihong@gmail.com>
 * Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
 * Tianon Gravi <admwiggin@gmail.com>
 * Tobias Klauser <tklauser@distanz.ch>
 * wanghuaiqing <wanghuaiqing@loongson.cn>
 * W. Trevor King <wking@tremily.us>
 * Yulia Nedyalkova <julianedialkova@hotmail.com>
 * zyu <yuzhihong@gmail.com>

> **NOTE**: For those who are confused by the massive version jump (rc10
> to rc91), this was done to avoid issues with SemVer and lexical
> comparisons -- there haven't been 90 other release candidates. Please
> also note thatrunc 1.0.0-rc90 is identical to 1.0.0-rc10.

[1]: GHSA-g54h-m393-cpwq

Vote: +7 -0 #0
Signed-off-by: Aleksa Sarai <asarai@suse.de>

v1.0.0-rc90

Toggle v1.0.0-rc90's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0-rc90

This release is *identical* to v1.0.0-rc10.

The purpose of this release is to resolve an issue with our versioning
scheme (in particular, the format we've used under SemVer means that the
"-rcNN" string suffix is sorted lexicographically rather than in the
classic `sort -V` order).

Because we cannot do a post-1.0 release yet, this is a workaround to
make sure that systems such as Go modules correctly update to the latest
runc release. See [1] for more details.

The next release (which would've originally been called -rc11) will be
1.0.0-rc91. I'm sorry.

[1]: opencontainers#2399

Signed-off-by: Aleksa Sarai <asarai@suse.de>

v1.0.0-rc10

Toggle v1.0.0-rc10's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0~rc10

This is a hot-fix for v1.0.0~rc9, primarily fixing CVE-2019-19921. Given
that the relevant runtime-spec PR which was considered a blocker has
been merged[1] the next rc release of runc should be the last one before
1.0.0.

Thanks to the following people who made this release possible:

 * Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
 * Aleksa Sarai <asarai@suse.de>
 * James Peach <jpeach@apache.org>
 * Jordan Liggitt <liggitt@google.com>
 * Julia Nedialkova <julianedialkova@hotmail.com>
 * Julio Montes <julio.montes@intel.com>
 * Kevin Kelani <kkelani@gmail.com>
 * Kurnia D Win <kurnia.d.win@gmail.com>
 * Manuel Rüger <manuel@rueg.eu>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mrunal Patel <mrunal@me.com>
 * Qiang Huang <h.huangqiang@huawei.com>
 * Radostin Stoyanov <rstoyanov1@gmail.com>
 * Sascha Grunert <sgrunert@suse.com>
 * tianye15 <tianye15@yq01-ps-www007cc6e83.yq01.baidu.com>

[1]: opencontainers/runtime-spec#1008

Vote: +4 -0 opencontainers#1
Signed-off-by: Aleksa Sarai <asarai@suse.de>

v1.0.0-rc9

Toggle v1.0.0-rc9's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0~rc9

This is a hot-fix for v1.0.0~rc8, primarily fixing CVE-2019-16884.

Thanks to the following people who made this release possible:

 * Adrian Reber <areber@redhat.com>
 * Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
 * Aleksa Sarai <asarai@suse.de>
 * Andreas Stocker <astocker@anexia-it.com>
 * blacktop <blacktop@users.noreply.github.com>
 * Carlos de Paula <me@carlosedp.com>
 * Danail Branekov <danailster@gmail.com>
 * Daniel J Walsh <dwalsh@redhat.com>
 * Erik Sipsma <sipsma@amazon.com>
 * Filipe Brandenburger <filbranden@gmail.com>
 * Georgi Sabev <georgethebeatle@gmail.com>
 * Giuseppe Scrivano <gscrivan@redhat.com>
 * Howard Zhang <howard.zhang@arm.com>
 * Joe Burianek <joe.burianek@pantheon.io>
 * Jonathan Rudenberg <jonathan@titanous.com>
 * Julien Durillon <julien.durillon@gmail.com>
 * Kenta Tada <Kenta.Tada@sony.com>
 * Lifubang <lifubang@acmcoder.com>
 * Marco Vedovati <mvedovati@suse.com>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mrunal Patel <mrunal@me.com>
 * Odin Ugedal <odin@ugedal.com>
 * Qiang Huang <h.huangqiang@huawei.com>
 * sashayakovtseva <sasha@sylabs.io>
 * Sebastiaan van Stijn <github@gone.nl>
 * Xiaochen Shen <xiaochen.shen@intel.com>
 * Xiao YongBiao <xyb4638@gmail.com>

Vote: +4 -0 opencontainers#1
Signed-off-by: Aleksa Sarai <asarai@suse.de>

v1.0.0-rc8

Toggle v1.0.0-rc8's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0~rc8

This is a hot-fix for v1.0.0-rc7, and fixes a regression on old kernels
(which don't support keycreate labeling). Users are strongly encouraged
to update, as this regression was introduced in 1.0.0-rc7 and has
blocked many users from updating to mitigate CVE-2019-5736.

Bugs: opencontainers#2032 opencontainers#2031 opencontainers#2043

At the moment the only outlying issue before we can release 1.0.0 is
some spec discussions we are having about OCI hooks and how to handle
the integration with existing NVIDIA hooks. We will do our best to
finish this work as soon as we can.

Thanks to the following people who made this release possible:

 * Aleksa Sarai <asarai@suse.de>
 * Daniel J Walsh <dwalsh@redhat.com>
 * lifubang <lifubang@acmcoder.com>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mrunal Patel <mrunal@me.com>

Vote: +4 -0 opencontainers#1
Signed-off-by: Aleksa Sarai <asarai@suse.de>

v1.0.0-rc7

Toggle v1.0.0-rc7's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0~rc7

Due to CVE-2019-5736, we had to do another -rc release so users can update. We
hope to be able to release 1.0.0 in the near future (there is still an
outstanding spec-compliance issue with OCI hooks which we need to resolve
first).

This also updates runc to a vendored commit of the runtime-spec rather than a
full release, which will hopefully be rectified with runc 1.0.0. #k

Security:
  + Mitigate CVE-2019-5736. This is an updated version of the patch series sent
    out on openwall and we encourage users to update. opencontainers#1982 opencontainers#1984

    NOTE: This mitigation *WILL NOT WORK* if you run untrusted containers with
          host uid 0 and give them CAP_SYS_ADMIN (the protection operates
          through a hidden read-only bind-mount which can be re-mounted by
          CAP_SYS_ADMIN privileged users).

          Put simply -- we consider granting CAP_SYS_ADMIN to untrusted
          containers without user namespaces to be fundamentally insecure, as
          such we do not consider this to be a security issue.

          If you want an additional host-level mitigation, use `chattr +i` on
          the host file to ensure containers without CAP_LINUX_IMMUTABLE cannot
          write to it -- even with CAP_SYS_ADMIN. But as above, if you give
          CAP_LINUX_IMMUTABLE to a container you will have problems.

          An alternative is to bind-mount a sealed memfd copy of the runc
          binary over the binary (runc will detect this and will not attempt
          further mitigation, because sealed memfds are fundamentally
          unmodifiable) but this requires more in-depth work by administrators.

  + There appear to be production users of --no-pivot-root, which is something
    that we absolutely recommend against and do not consider to be a secure
    configuration -- since pivot_root(2) has many security properties that are
    not possible to provide with just chroot(2).

    However, a specific issue was discovered which we decided to mitigate in
    order to avoid production users being exploited by it. This security issue
    is *not* elligible for a CVE because it requires an insecure configuration
    (--no-pivot-root). opencontainers#1962

Features:
  + Add intelrdt support for MBA to runc (a new intelrdt feature available in
    Linux 4.18+). opencontainers#1919
  + Add support for specifying a CRIU configuration file for checkpoint/restore
    (which makes use of a new org.criu.config annotation). opencontainers#1933 opencontainers#1964
  + Add support for "runc exec --preserve-fds". opencontainers#1995
  * Added support for SELinux labeling of keyrings. opencontainers#2012

Fixes:
  * Correct handling of "runc kill" when a container is stopped or paused.
    opencontainers#1934 opencontainers#1943
  * Error out if built with nokmem and kmemcg limits were requested. opencontainers#1939
  * Update check-config.sh to be in line with Docker's. opencontainers#1942
  * Improve handling of kmem and the systemd cgroup driver. opencontainers#1960
  * Improve resilience of adding setns tasks to cgroups. opencontainers#1950
  - Remove (broken) detection of .scope for systemd. opencontainers#1978
  * Fix console hanging with preserve-fds, where not enough fds have actually
    been provided to runc (which is a very common mistake when using
    --preserve-fds). opencontainers#2000
  * Create bind-mounts when restoring. opencontainers#1968
  * Fix regression of zombie "runc init" processes. opencontainers#2023

Thanks to all of the contributors that made this release possible:

 * Ace-Tang <aceapril@126.com>
 * Adrian Reber <areber@redhat.com>
 * Aleksa Sarai <asarai@suse.de>
 * Alex Fang <littlelightlittlefire@gmail.com>
 * Christian Brauner <christian.brauner@ubuntu.com>
 * Daniel, Dao Quang Minh <dqminh89@gmail.com>
 * Daniel J Walsh <dwalsh@redhat.com>
 * Filipe Brandenburger <filbranden@google.com>
 * Giuseppe Scrivano <gscrivan@redhat.com>
 * JoeWrightss <zhoulin.xie@daocloud.io>
 * John Howard <jhoward@microsoft.com>
 * Justin Cormack <justin.cormack@docker.com>
 * Kenta Tada <Kenta.Tada@sony.com>
 * Lifubang <lifubang@acmcoder.com>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mrunal Patel <mrunal@me.com>
 * Tom Godkin <tgodkin@pivotal.io>
 * Vincent Batts <vbatts@hashbangbash.com>
 * Xiaochen Shen <xiaochen.shen@intel.com>

With special thanks and well-wishes to Victor Marmol and Rohit Jnagal, who have
both decided to give up their maintainership. Thanks for all of your
contributions over the years, and good luck with your future endeavours!

Signed-off-by: Aleksa Sarai <asarai@suse.de>

v1.0.0-rc6

Toggle v1.0.0-rc6's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0~rc6

This is the final feature release of runc before 1.0, rather than 1.0
itself. The reason for tihs is that, during the preparations for this
release (which was originally meant to be 1.0) it was brought up that
there were several spec-compliance problems. One of these was related to
hook ordering, and upon trying to fix them it turns out that many users
(notably the NVIDIA OCI hooks) make use of our incorrect hook ordering.
Many of the proposed solutions to this problem all require a lot of time
and co-ordination, and thus would stall this release indefinitely.

So, the idea is to have an intermediate release which will mark a
freeze-on-everything-except-spec-compliance-bugs. No other changes will
be included pre-1.0 (aside from security patches obviously).

Features:
 + Upgrade to using Go 1.10. opencontainers#1711
 + Upgrade to CRIU 3.11. opencontainers#1711 opencontainers#1864 opencontainers#1935 opencontainers#1936
 + Allow for checkpoint-restore into a foreign network namespace. opencontainers#1849
 + The "type" field for bind-mounts is now ignored. This is important, because
   many users incorrectly assume that "type" defines a bind-mount and not
   "options". Previously you had to set both. opencontainers#1753 opencontainers#1845
 + "setgroups=allow" is now possible in rootless mode, but requires the use of
   the privileged newgidmap helper (fully-rootless still requires
   "setgroups=deny"). opencontainers#1693
 + Rootless mode can now safely ignore a read-only cgroupfs. opencontainers#1759 opencontainers#1806
 + Several aspects of rootless mode are now used inside user namespaces. This
   is necessary for a bunch of useful things (such as running Docker inside an
   user namespace), but did cause some breakages. We think they've all been
   fixed -- but if not please submit an issue! opencontainers#1688 opencontainers#1808 opencontainers#1816 opencontainers#1862
 + Improve kernel.{domain,host}name sysctl handling, to allow the NIS
   domainname to be set from Docker or other callers without an OCI spec
   change. opencontainers#1827
 + Add documentation for one of the more confusion parts of runc, how terminals
   are handled (including an explanation of --console-socket). All the gory
   details and recommendations are available in docs/terminals.md. opencontainers#1730
 + Allow /proc to be bind-mounted over (useful for rootless containers). opencontainers#1832
 + Ignore ENOSYS for keyctl(2) operations. This is necessary to get Docker
   working with LXC under the default seccomp profile (which is what ChromeOS
   uses). opencontainers#1893
 + Add support for the Intel RDT/MBA resource control system. opencontainers#1632 opencontainers#1913
 + Allow building with completely-disabled kmemcg support, to get around
   problems with broken kernels (RHEL 7.5 can oops with kmemcg accounting
   enabled). opencontainers#1921 opencontainers#1922 opencontainers#1930
 + Add support for cgroup namespaces, which in turn fixes a few other issues we
   encountered with the previous code (which could be moving us to a cgroup
   during Go execution). opencontainers#1916

Fixes:
 * Namespace creation with user namespaces now plays a bit nicer with SELinux
   and IPC (which had a bug where the in-kernel mqueue mount would have the
   wrong tag if using unshare(CLONE_NEWUSER|CLONE_NEWIPC)). This is done to
   avoid future problems with broken kernel integration. opencontainers#1562
 * Mild refactor of libcontainer/user. opencontainers#1749
 * Fix null-pointer-exception when no cgroups were set. opencontainers#1752
 * Various DBus and systemd related changes for the systemd-cgroup driver.
   opencontainers#1754 opencontainers#1772 opencontainers#1776 opencontainers#1781 opencontainers#1805 opencontainers#1917
 * Apply SELinux label to masked directories. opencontainers#1756
 * Obey the XDG spec and set the sticky bit on runc's root when using
   XDG_RUNTIME_DIR (in rootless mode). opencontainers#1760
 * Only configure network namespaces if we are creating them. opencontainers#1777
 * Fix race in runc-exec against a currently-exiting pid1. opencontainers#1812
 * Forward GOMAXPROCS to try to reduce the number of threads started by 'runc
   init'. Unforunately there's no way to stop Go from spawning new threads so
   this is more of a recommendation. opencontainers#1830
 * Fix tmpcopyup in cases where /tmp is not a private mount. opencontainers#1873
 * Whitelist /proc/loadavg for bind-mounting. opencontainers#1882
 * Protect against deletion of runc state directory with a containerid of "..",
   as well as the addition of other path hardening code. opencontainers#1883
 * Handle duplicated cgroupfs mountpoint entries more sanely, to make runc work
   on distributions that use-and-abuse shared subtrees. opencontainers#1817
 * Fix console hanging in several cases. opencontainers#1895 opencontainers#1897
 * Lock-to-a-thread during 'runc init' to ensure that that we don't switch
   threads and run within a different SELinux label. opencontainers#1814
 * Respect cgroupPath when trying to find the cgroupfs mountpoint (which can
   happen in cases where containers are given different cgroupfs mounts). opencontainers#1872
 * And many other minor changes, many from first-time contributors! opencontainers#1746 opencontainers#1748
   opencontainers#1749 opencontainers#1784 opencontainers#1779 opencontainers#1785 opencontainers#1796 opencontainers#1819 opencontainers#1825 opencontainers#1836 opencontainers#1824 opencontainers#1820 opencontainers#1838 opencontainers#1840
   opencontainers#1841 opencontainers#1867 opencontainers#1871 opencontainers#1855 opencontainers#1854 opencontainers#1874 opencontainers#1868 opencontainers#1886 opencontainers#1892 opencontainers#1858 opencontainers#1894 opencontainers#1908
   opencontainers#1880 opencontainers#1910 opencontainers#1915 opencontainers#1903 opencontainers#1922 opencontainers#1926 opencontainers#1928 opencontainers#1925 opencontainers#1911

Fixes (for spec violations):
 * Don't set a container to "running" when exec-ing into it (because it might
   be in the "created" state). opencontainers#1771
 * oom_score_adj is now no longer modified if it was unspecified in config.json
   (this was a spec violation). opencontainers#1759
 * Set "status" in hook stdin, as well as switch to using *spec.State to avoid
   JSON-representation drift. opencontainers#1741

Thanks to all of the contributors that made this release possible:

 * Ace-Tang <aceapril@126.com>
 * Adrian Reber <areber@redhat.com>
 * Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
 * Alban Crequy <alban@kinvolk.io>
 * Aleksa Sarai <asarai@suse.de>
 * Alex Glikson <alex.glikson@gmail.com>
 * Andrei Vagin <avagin@virtuozzo.com>
 * Antonio Murdaca <runcom@redhat.com>
 * Bin Chen <nk@devicu.com>
 * ChangFeng <changfeng@pinduoduo.com>
 * Chris Aniszczyk <caniszczyk@gmail.com>
 * Danail Branekov <danailster@gmail.com>
 * Daniel, Dao Quang Minh <dqminh89@gmail.com>
 * Daniel J Walsh <dwalsh@redhat.com>
 * Denys Smirnov <denys@sourced.tech>
 * Derek Carr <decarr@redhat.com>
 * dlorenc <lorenc.d@gmail.com>
 * Dmitry Smirnov <onlyjob@member.fsf.org>
 * Dominik Süß <dominik@suess.wtf>
 * Filipe Brandenburger <filbranden@google.com>
 * Giuseppe Scrivano <gscrivan@redhat.com>
 * Harald Nordgren <haraldnordgren@gmail.com>
 * Jay Kamat <jaygkamat@gmail.com>
 * Jonathan Marler <johnnymarler@gmail.com>
 * Kenta Tada <Kenta.Tada@sony.com>
 * Kir Kolyshkin <kolyshkin@gmail.com>
 * Lifubang <lifubang@acmcoder.com>
 * Lin Yang <lin.a.yang@intel.com>
 * Marco Vedovati <mvedovati@suse.com>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mike Brown <brownwm@us.ibm.com>
 * Mrunal Patel <mrunalp@gmail.com>
 * Nalin Dahyabhai <nalin@redhat.com>
 * Qiang Huang <h.huangqiang@huawei.com>
 * Sebastien Boeuf <sebastien.boeuf@intel.com>
 * Sergio Lopez <slp@redhat.com>
 * Tamal Saha <tamal@appscode.com>
 * Tibor Vass <tibor@docker.com>
 * vikaschoudhary16 <choudharyvikas16@gmail.com>
 * Vincent Batts <vbatts@hashbangbash.com>
 * W. Trevor King <wking@tremily.us>
 * Xiaochen Shen <xiaochen.shen@intel.com>
 * Yan Zhu <yanzhu@alauda.io>
 * Yuanhong Peng <pengyuanhong@huawei.com>

Signed-off-by: Aleksa Sarai <asarai@suse.de>

v1.0.0-rc5

Toggle v1.0.0-rc5's commit message

Verified

This tag was signed with the committer’s verified signature.
cyphar Aleksa Sarai
v1.0.0~rc5

This is planned to be the final -rc release of runc. While we really
haven't followed the rules for release candidates (with huge features
introduced each release, and with massive gaps between releases) the
hope is that once we've release 1.0.0 we will be much more liberal with
releases in future. Let's see how that pans out. :P

Features:

+ Support cgroups in rootless containers. This is a continuation of the
  previous work done, and allows for users that have specialised setups
  (such as having the LXC pam_cg.so module set up) to use cgroups with
  rootless containers. opencontainers#1540
+ Add support for newuidmap and newgidmap with rootless containers.
  This is a continuation of some previous work, and allows users that
  have /etc/sub{uid,gid} configured to use the shadow-utils setuid
  helpers. Note that this support doesn't restrict users that don't want
  to use setuid binaries at all. opencontainers#1529
+ runc will now use a chroot when mount namespaces aren't provided in
  the config.json. While chroot does have its (many) downsides, this
  does allow for specialised configurations to work properly. opencontainers#1702
+ Expose annotations to hooks, so that the hook can have more direct
  information about the container it is being run against. opencontainers#1687
+ Add "runc exec --additional-gids" support. opencontainers#1608
+ Allow more signals to be sent with "runc kill" than are defined by
  Go's syscall package. opencontainers#1706
+ Emit an error if users try to use MS_PRIVATE with --no-pivot, as that
  is simply not safe. opencontainers#1606
+ Add support for "unbindable" and "runbindable" as rootfs propagation.
  opencontainers#1655
+ Implement intelrdt support in runc. opencontainers#1279 opencontainers#1590
+ Add support for lazy migration with CRIU. This includes the addition
  of "runc checkpoint httpd" which acts as a remote pagefault request
  server. opencontainers#1541
+ Add MIPS support. opencontainers#1475

Fixes:

* Delay seccomp application as late as possible, to reduce the syscall
  footprint of runc on profiles. opencontainers#1569
* Fix --read-only containers with user namespaces, which would
  previously fail under Docker because of privilege problems when trying
  to do the read-only remount. opencontainers#1572
* Switch away from stateDirFd entirely. This is an improvement over the
  protections we added for CVE-2016-9962, and protects against many
  other possible container escape bugs. opencontainers#1570
* Handle races between "runc start" and "runc delete" over the exec FIFO
  correctly, and avoid blocking "runc start" indefinitely. opencontainers#1698
* Correctly generate seccomp profiles that place requirements on syscall
  arguments, as well as multi-argument restrictions. opencontainers#1616 opencontainers#1424
* Prospective patch for remounting of old-root during pivot_root. This
  is intended to solve one of the many "mount leak" bugs that have been
  popping up recently -- caused by lots of container churn and host
  mounts being pinned during container setup. opencontainers#1500
* Fix "runc exec" on big-endian architectures. opencontainers#1727
* Correct systemd slice expansion to work with cAdvisor. opencontainers#1722
* Fix races against systemd cgroup scope creation. opencontainers#1683
* Do not wait for signalled processes if libcontainer is running in a
  process that is a subreaper. opencontainers#1678
* Remove dependency on libapparmor entirely, and just use
  /proc/$pid/attr directly. opencontainers#1675
* Improvements to our integration tests. opencontainers#1661 opencontainers#1629 opencontainers#1528
* Handle systemd's quirky CPUQuotaPerSecUSec handling in
  fractions-of-a-percent edge-cases. opencontainers#1651
* Remove docker/docker import in runc by moving the package to runc.
  opencontainers#1644
* Switch from docker's pkg/symlink to cyphar/filepath-securejoin. opencontainers#1622
* Enable integration and unit tests on arm64. opencontainers#1642 opencontainers#1640
* Add /proc/scsi to masked paths (mirror of Docker's CVE-2017-16539).
  opencontainers#1641
* Add several tests for specconv. opencontainers#1626 opencontainers#1619
* Add more extensive tests for terminal handling. opencontainers#1357
* Always write freezer state during retry-loop, to avoid an indefinite
  hang when new tasks are spawned in the container. opencontainers#1610
* Create cwd when it doesn't exist in the container. opencontainers#1604
* Set initial console size based on process spec, to avoid SIGWINCH
  races where initial console size is completely wrong. opencontainers#1275
* Small fixes for static builds. opencontainers#1579 opencontainers#1577
* Use epoll for PTY IO, to avoid issues with systemd's SAK protections.
  opencontainers#1455
* Update state.json after a "runc update". opencontainers#1558
* Switch to umoci's release scripts, to use a more "standardised" and
  distribution-friendly release scheme. Several makefile-fixes included
  as well. opencontainers#1554 opencontainers#1542 opencontainers#1555
* Reap "runc:[1:CHILD]" to avoid intermediate zombies building up. opencontainers#1506
* Use CRIU's RPC to check the version. opencontainers#1535
* Always save own namespace paths rather than the path given during
  start-up, to avoid issues where the path disappears afterwards. opencontainers#1477
* Fix that we incorrectly set the owners of devices. This is still (subtly)
  broken in user namespaces, but will be fixed in a future version. opencontainers#1743

* Lots of other miscellaneous fixes and cleanups, many of which were
  written by first-time contributors. Thanks for contributing, and
  welcome to the project! opencontainers#1729 opencontainers#1724 opencontainers#1695 opencontainers#1685 opencontainers#1703 opencontainers#1699 opencontainers#1682
  opencontainers#1665 opencontainers#1667 opencontainers#1669 opencontainers#1654 opencontainers#1664 opencontainers#1660 opencontainers#1645 opencontainers#1640 opencontainers#1621 opencontainers#1607 opencontainers#1206
  opencontainers#1615 opencontainers#1614 opencontainers#1453 opencontainers#1613 opencontainers#1600 opencontainers#1599 opencontainers#1598 opencontainers#1597 opencontainers#1593 opencontainers#1586 opencontainers#1588
  opencontainers#1587 opencontainers#1589 opencontainers#1575 opencontainers#1578 opencontainers#1573 opencontainers#1561 opencontainers#1560 opencontainers#1559 opencontainers#1556 opencontainers#1551 opencontainers#1553
  opencontainers#1548 opencontainers#1544 opencontainers#1545 opencontainers#1537

Removals:
- Andrej Vagin stepped down as a maintainer. Thanks for all of your hard
 work Andrej, and have fun working on your other projects! opencontainers#1543

Thanks to all of the contributors that made this release possible:

 * Adrian Reber <areber@redhat.com>
 * Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
 * Aleksa Sarai <asarai@suse.de>
 * Alex Fang <littlelightlittlefire@gmail.com>
 * Allen Sun <allensun.shl@alibaba-inc.com>
 * Andrei Vagin <avagin@openvz.org>
 * Antonio Murdaca <runcom@redhat.com>
 * Bin Lu <bin.lu@arm.com>
 * Danail Branekov <danail.branekov@sap.com>
 * Daniel, Dao Quang Minh <dqminh89@gmail.com>
 * Ed King <eking@pivotal.io>
 * Euan Kemp <euan.kemp@coreos.com>
 * Giuseppe Scrivano <gscrivan@redhat.com>
 * Jianyong Wu <jianyong.wu@arm.com>
 * Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
 * Konstantinos Karampogias <konstantinos.karampogias@swisscom.com>
 * leitwolf7 <leitwolf@wolke7.net>
 * Lorenzo Fontana <lo@linux.com>
 * Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
 * Matthew Heon <mheon@redhat.com>
 * Michael Crosby <crosbymichael@gmail.com>
 * Mrunal Patel <mrunal@me.com>
 * Nikolas Sepos <nikolas.sepos@gmail.com>
 * Peter Morjan <peter.morjan@de.ibm.com>
 * Petros Angelatos <petrosagg@gmail.com>
 * Qiang Huang <h.huangqiang@huawei.com>
 * ravisantoshgudimetla <ravisantoshgudimetla@gmail.com>
 * s7v7nislands <s7v7nislands@gmail.com>
 * Sebastien Boeuf <sebastien.boeuf@intel.com>
 * Seth Jennings <sjenning@redhat.com>
 * Steven Hartland <steven.hartland@multiplay.co.uk>
 * Sumit Sanghrajka <sumit.sanghrajka@gmail.com>
 * Taeung Song <treeze.taeung@gmail.com>
 * Thomas Hipp <thipp@suse.de>
 * Tobias Klauser <tklauser@distanz.ch>
 * Tom Godkin <tgodkin@pivotal.io>
 * Tycho Andersen <tycho@docker.com>
 * Valentin Kulesh <valentin.kulesh@virtuozzo.com>
 * vikaschoudhary16 <choudharyvikas16@gmail.com>
 * Vincent Demeester <vincent@sbr.pm>
 * Vladimir Stefanovic <vladimir.stefanovic@imgtec.com>
 * vsoch <vsochat@stanford.edu>
 * Will Martin <wmartin@pivotal.io>
 * W. Trevor King <wking@tremily.us>
 * Xiaochen Shen <xiaochen.shen@intel.com>
 * ynirk <julien.lavesque@gmail.com>
 * Yong Tang <yong.tang.github@outlook.com>
 * Yuanhong Peng <pengyuanhong@huawei.com>
 * yupeng <yu.peng36@zte.com.cn>

Signed-off-by: Aleksa Sarai <asarai@suse.de>