diff --git a/validate/validate.go b/validate/validate.go index 0d62a53ef..eaa413030 100644 --- a/validate/validate.go +++ b/validate/validate.go @@ -30,6 +30,16 @@ const specConfig = "config.json" var ( defaultRlimits = []string{ + "RLIMIT_AS", + "RLIMIT_CORE", + "RLIMIT_CPU", + "RLIMIT_DATA", + "RLIMIT_FSIZE", + "RLIMIT_NOFILE", + "RLIMIT_STACK", + } + + defaultLinuxRlimits = []string{ "RLIMIT_AS", "RLIMIT_CORE", "RLIMIT_CPU", @@ -821,6 +831,13 @@ func (v *Validator) rlimitValid(rlimit rspec.POSIXRlimit) (errs error) { } if v.platform == "linux" { + for _, val := range defaultLinuxRlimits { + if val == rlimit.Type { + return + } + } + errs = multierror.Append(errs, fmt.Errorf("rlimit type %q is invalid", rlimit.Type)) + } else if v.platform == "solaris" { for _, val := range defaultRlimits { if val == rlimit.Type { return