cri: add devices for privileged container
Signed-off-by: scuzhanglei <greatzhanglei@gmail.com>
This commit is contained in:
		| @@ -213,6 +213,9 @@ func (c *criService) containerSpec( | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	specOpts = append(specOpts, customopts.WithDevices(c.os, config, c.config.DeviceOwnershipFromSecurityContext), | ||||
| 		customopts.WithCapabilities(securityContext, c.allCaps)) | ||||
|  | ||||
| 	if securityContext.GetPrivileged() { | ||||
| 		if !sandboxConfig.GetLinux().GetSecurityContext().GetPrivileged() { | ||||
| 			return nil, errors.New("no privileged container allowed in sandbox") | ||||
| @@ -220,14 +223,7 @@ func (c *criService) containerSpec( | ||||
| 		specOpts = append(specOpts, oci.WithPrivileged) | ||||
| 		if !ociRuntime.PrivilegedWithoutHostDevices { | ||||
| 			specOpts = append(specOpts, oci.WithHostDevices, oci.WithAllDevicesAllowed) | ||||
| 		} else { | ||||
| 			// add requested devices by the config as host devices are not automatically added | ||||
| 			specOpts = append(specOpts, customopts.WithDevices(c.os, config, c.config.DeviceOwnershipFromSecurityContext), | ||||
| 				customopts.WithCapabilities(securityContext, c.allCaps)) | ||||
| 		} | ||||
| 	} else { // not privileged | ||||
| 		specOpts = append(specOpts, customopts.WithDevices(c.os, config, c.config.DeviceOwnershipFromSecurityContext), | ||||
| 			customopts.WithCapabilities(securityContext, c.allCaps)) | ||||
| 	} | ||||
|  | ||||
| 	// Clear all ambient capabilities. The implication of non-root + caps | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 scuzhanglei
					scuzhanglei