Update runc to 58592df56734acf62e574865fe40b9e53e
This includes fixes for user namespaces as well as a long standing bug for running docker and containerd inside an lxc container. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
d6de12e2f3
commit
d7769daa5e
@ -20,7 +20,7 @@ github.com/gogo/protobuf v1.0.0
|
|||||||
github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef
|
github.com/gogo/googleapis 08a7655d27152912db7aaf4f983275eaf8d128ef
|
||||||
github.com/golang/protobuf v1.1.0
|
github.com/golang/protobuf v1.1.0
|
||||||
github.com/opencontainers/runtime-spec eba862dc2470385a233c7507392675cbeadf7353 # v1.0.1-45-geba862d
|
github.com/opencontainers/runtime-spec eba862dc2470385a233c7507392675cbeadf7353 # v1.0.1-45-geba862d
|
||||||
github.com/opencontainers/runc 00dc70017d222b178a002ed30e9321b12647af2d
|
github.com/opencontainers/runc 58592df56734acf62e574865fe40b9e53e967910
|
||||||
github.com/sirupsen/logrus v1.0.0
|
github.com/sirupsen/logrus v1.0.0
|
||||||
github.com/urfave/cli 7bc6a0acffa589f415f88aca16cc1de5ffd66f9c
|
github.com/urfave/cli 7bc6a0acffa589f415f88aca16cc1de5ffd66f9c
|
||||||
golang.org/x/net b3756b4b77d7b13260a0a2ec658753cf48922eac
|
golang.org/x/net b3756b4b77d7b13260a0a2ec658753cf48922eac
|
||||||
|
17
vendor/github.com/opencontainers/runc/libcontainer/configs/config.go
generated
vendored
17
vendor/github.com/opencontainers/runc/libcontainer/configs/config.go
generated
vendored
@ -186,12 +186,19 @@ type Config struct {
|
|||||||
// callers keyring in this case.
|
// callers keyring in this case.
|
||||||
NoNewKeyring bool `json:"no_new_keyring"`
|
NoNewKeyring bool `json:"no_new_keyring"`
|
||||||
|
|
||||||
// Rootless specifies whether the container is a rootless container.
|
// IntelRdt specifies settings for Intel RDT group that the container is placed into
|
||||||
Rootless bool `json:"rootless"`
|
// to limit the resources (e.g., L3 cache, memory bandwidth) the container has available
|
||||||
|
|
||||||
// IntelRdt specifies settings for Intel RDT/CAT group that the container is placed into
|
|
||||||
// to limit the resources (e.g., L3 cache) the container has available
|
|
||||||
IntelRdt *IntelRdt `json:"intel_rdt,omitempty"`
|
IntelRdt *IntelRdt `json:"intel_rdt,omitempty"`
|
||||||
|
|
||||||
|
// RootlessEUID is set when the runc was launched with non-zero EUID.
|
||||||
|
// Note that RootlessEUID is set to false when launched with EUID=0 in userns.
|
||||||
|
// When RootlessEUID is set, runc creates a new userns for the container.
|
||||||
|
// (config.json needs to contain userns settings)
|
||||||
|
RootlessEUID bool `json:"rootless_euid,omitempty"`
|
||||||
|
|
||||||
|
// RootlessCgroups is set when unlikely to have the full access to cgroups.
|
||||||
|
// When RootlessCgroups is set, cgroups errors are ignored.
|
||||||
|
RootlessCgroups bool `json:"rootless_cgroups,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Hooks struct {
|
type Hooks struct {
|
||||||
|
4
vendor/github.com/opencontainers/runc/libcontainer/configs/intelrdt.go
generated
vendored
4
vendor/github.com/opencontainers/runc/libcontainer/configs/intelrdt.go
generated
vendored
@ -4,4 +4,8 @@ type IntelRdt struct {
|
|||||||
// The schema for L3 cache id and capacity bitmask (CBM)
|
// The schema for L3 cache id and capacity bitmask (CBM)
|
||||||
// Format: "L3:<cache_id0>=<cbm0>;<cache_id1>=<cbm1>;..."
|
// Format: "L3:<cache_id0>=<cbm0>;<cache_id1>=<cbm1>;..."
|
||||||
L3CacheSchema string `json:"l3_cache_schema,omitempty"`
|
L3CacheSchema string `json:"l3_cache_schema,omitempty"`
|
||||||
|
|
||||||
|
// The schema of memory bandwidth percentage per L3 cache id
|
||||||
|
// Format: "MB:<cache_id0>=bandwidth0;<cache_id1>=bandwidth1;..."
|
||||||
|
MemBwSchema string `json:"memBwSchema,omitempty"`
|
||||||
}
|
}
|
||||||
|
12
vendor/github.com/opencontainers/runc/libcontainer/nsenter/nsexec.c
generated
vendored
12
vendor/github.com/opencontainers/runc/libcontainer/nsenter/nsexec.c
generated
vendored
@ -82,7 +82,7 @@ struct nlconfig_t {
|
|||||||
uint8_t is_setgroup;
|
uint8_t is_setgroup;
|
||||||
|
|
||||||
/* Rootless container settings. */
|
/* Rootless container settings. */
|
||||||
uint8_t is_rootless;
|
uint8_t is_rootless_euid; /* boolean */
|
||||||
char *uidmappath;
|
char *uidmappath;
|
||||||
size_t uidmappath_len;
|
size_t uidmappath_len;
|
||||||
char *gidmappath;
|
char *gidmappath;
|
||||||
@ -100,7 +100,7 @@ struct nlconfig_t {
|
|||||||
#define GIDMAP_ATTR 27284
|
#define GIDMAP_ATTR 27284
|
||||||
#define SETGROUP_ATTR 27285
|
#define SETGROUP_ATTR 27285
|
||||||
#define OOM_SCORE_ADJ_ATTR 27286
|
#define OOM_SCORE_ADJ_ATTR 27286
|
||||||
#define ROOTLESS_ATTR 27287
|
#define ROOTLESS_EUID_ATTR 27287
|
||||||
#define UIDMAPPATH_ATTR 27288
|
#define UIDMAPPATH_ATTR 27288
|
||||||
#define GIDMAPPATH_ATTR 27289
|
#define GIDMAPPATH_ATTR 27289
|
||||||
|
|
||||||
@ -419,8 +419,8 @@ static void nl_parse(int fd, struct nlconfig_t *config)
|
|||||||
case CLONE_FLAGS_ATTR:
|
case CLONE_FLAGS_ATTR:
|
||||||
config->cloneflags = readint32(current);
|
config->cloneflags = readint32(current);
|
||||||
break;
|
break;
|
||||||
case ROOTLESS_ATTR:
|
case ROOTLESS_EUID_ATTR:
|
||||||
config->is_rootless = readint8(current);
|
config->is_rootless_euid = readint8(current); /* boolean */
|
||||||
break;
|
break;
|
||||||
case OOM_SCORE_ADJ_ATTR:
|
case OOM_SCORE_ADJ_ATTR:
|
||||||
config->oom_score_adj = current;
|
config->oom_score_adj = current;
|
||||||
@ -687,7 +687,7 @@ void nsexec(void)
|
|||||||
* newuidmap/newgidmap shall be used.
|
* newuidmap/newgidmap shall be used.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (config.is_rootless && !config.is_setgroup)
|
if (config.is_rootless_euid && !config.is_setgroup)
|
||||||
update_setgroups(child, SETGROUPS_DENY);
|
update_setgroups(child, SETGROUPS_DENY);
|
||||||
|
|
||||||
/* Set up mappings. */
|
/* Set up mappings. */
|
||||||
@ -953,7 +953,7 @@ void nsexec(void)
|
|||||||
if (setgid(0) < 0)
|
if (setgid(0) < 0)
|
||||||
bail("setgid failed");
|
bail("setgid failed");
|
||||||
|
|
||||||
if (!config.is_rootless && config.is_setgroup) {
|
if (!config.is_rootless_euid && config.is_setgroup) {
|
||||||
if (setgroups(0, NULL) < 0)
|
if (setgroups(0, NULL) < 0)
|
||||||
bail("setgroups failed");
|
bail("setgroups failed");
|
||||||
}
|
}
|
||||||
|
20
vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
generated
vendored
20
vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
generated
vendored
@ -5,6 +5,7 @@ package user
|
|||||||
import (
|
import (
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
@ -115,22 +116,23 @@ func CurrentGroup() (Group, error) {
|
|||||||
return LookupGid(unix.Getgid())
|
return LookupGid(unix.Getgid())
|
||||||
}
|
}
|
||||||
|
|
||||||
func CurrentUserSubUIDs() ([]SubID, error) {
|
func currentUserSubIDs(fileName string) ([]SubID, error) {
|
||||||
u, err := CurrentUser()
|
u, err := CurrentUser()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return ParseSubIDFileFilter("/etc/subuid",
|
filter := func(entry SubID) bool {
|
||||||
func(entry SubID) bool { return entry.Name == u.Name })
|
return entry.Name == u.Name || entry.Name == strconv.Itoa(u.Uid)
|
||||||
|
}
|
||||||
|
return ParseSubIDFileFilter(fileName, filter)
|
||||||
}
|
}
|
||||||
|
|
||||||
func CurrentGroupSubGIDs() ([]SubID, error) {
|
func CurrentUserSubUIDs() ([]SubID, error) {
|
||||||
g, err := CurrentGroup()
|
return currentUserSubIDs("/etc/subuid")
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
return ParseSubIDFileFilter("/etc/subgid",
|
|
||||||
func(entry SubID) bool { return entry.Name == g.Name })
|
func CurrentUserSubGIDs() ([]SubID, error) {
|
||||||
|
return currentUserSubIDs("/etc/subgid")
|
||||||
}
|
}
|
||||||
|
|
||||||
func CurrentProcessUIDMap() ([]IDMap, error) {
|
func CurrentProcessUIDMap() ([]IDMap, error) {
|
||||||
|
2
vendor/github.com/opencontainers/runc/vendor.conf
generated
vendored
2
vendor/github.com/opencontainers/runc/vendor.conf
generated
vendored
@ -1,7 +1,7 @@
|
|||||||
# OCI runtime-spec. When updating this, make sure you use a version tag rather
|
# OCI runtime-spec. When updating this, make sure you use a version tag rather
|
||||||
# than a commit ID so it's much more obvious what version of the spec we are
|
# than a commit ID so it's much more obvious what version of the spec we are
|
||||||
# using.
|
# using.
|
||||||
github.com/opencontainers/runtime-spec v1.0.0
|
github.com/opencontainers/runtime-spec 5684b8af48c1ac3b1451fa499724e30e3c20a294
|
||||||
# Core libcontainer functionality.
|
# Core libcontainer functionality.
|
||||||
github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08
|
github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08
|
||||||
github.com/opencontainers/selinux v1.0.0-rc1
|
github.com/opencontainers/selinux v1.0.0-rc1
|
||||||
|
Loading…
Reference in New Issue
Block a user