From b3fc8fe61b86ebfe1c1dbddad11a8bb2b2c381c7 Mon Sep 17 00:00:00 2001 From: zhouhao Date: Mon, 4 Sep 2017 11:50:00 +0800 Subject: [PATCH] validate: add the validation of rlimit.type when platform is solaris Signed-off-by: zhouhao --- validate/validate.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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