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:
		| @@ -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"); | ||||||
| 			} | 			} | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								vendor/github.com/opencontainers/runc/libcontainer/user/lookup_unix.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								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 |  | ||||||
| 	} | func CurrentUserSubGIDs() ([]SubID, error) { | ||||||
| 	return ParseSubIDFileFilter("/etc/subgid", | 	return currentUserSubIDs("/etc/subgid") | ||||||
| 		func(entry SubID) bool { return entry.Name == g.Name }) |  | ||||||
| } | } | ||||||
|  |  | ||||||
| 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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Crosby
					Michael Crosby