libcontainer/intelrdt: support explicit assignment to root CLOS

Makes it possible e.g. to enable monitoring
(linux.intelRdt.enableMonitoring) without creating a CLOS (resctrl
group) for the container.

Implements https://github.com/opencontainers/runtime-spec/pull/1289.

Signed-off-by: Markus Lehtonen <markus.lehtonen@intel.com>
This commit is contained in:
Markus Lehtonen
2025-08-15 15:06:48 +03:00
parent 1398ba7eb0
commit b8a83ac255

View File

@@ -287,8 +287,9 @@ func intelrdtCheck(config *configs.Config) error {
return fmt.Errorf("intelRdt is specified in config, but Intel RDT is not enabled")
}
if config.IntelRdt.ClosID == "." || config.IntelRdt.ClosID == ".." || strings.Contains(config.IntelRdt.ClosID, "/") {
return fmt.Errorf("invalid intelRdt.ClosID %q", config.IntelRdt.ClosID)
switch clos := config.IntelRdt.ClosID; {
case clos == ".", clos == "..", len(clos) > 1 && strings.Contains(clos, "/"):
return fmt.Errorf("invalid intelRdt.ClosID %q", clos)
}
if !intelrdt.IsCATEnabled() && config.IntelRdt.L3CacheSchema != "" {