diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go index 727fdbd1d..f6212b833 100644 --- a/libcontainer/specconv/spec_linux.go +++ b/libcontainer/specconv/spec_linux.go @@ -260,6 +260,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { } if spec.Process != nil { config.OomScoreAdj = spec.Process.OOMScoreAdj + config.NoNewPrivileges = spec.Process.NoNewPrivileges if spec.Process.SelinuxLabel != "" { config.ProcessLabel = spec.Process.SelinuxLabel } diff --git a/libcontainer/specconv/spec_linux_test.go b/libcontainer/specconv/spec_linux_test.go index 9c2688650..18bb7c7fd 100644 --- a/libcontainer/specconv/spec_linux_test.go +++ b/libcontainer/specconv/spec_linux_test.go @@ -391,6 +391,11 @@ func TestSpecconvExampleValidate(t *testing.T) { t.Errorf("Couldn't create libcontainer config: %v", err) } + if config.NoNewPrivileges != spec.Process.NoNewPrivileges { + t.Errorf("specconv NoNewPrivileges mismatch. Expected %v got %v", + spec.Process.NoNewPrivileges, config.NoNewPrivileges) + } + validator := validate.New() if err := validator.Validate(config); err != nil { t.Errorf("Expected specconv to produce valid container config: %v", err)