diff --git a/cmdline.c b/cmdline.c index ca492fc..5584662 100644 --- a/cmdline.c +++ b/cmdline.c @@ -79,7 +79,7 @@ struct custom_option custom_opts[] = { {{"log", required_argument, NULL, 'l'}, "Log file (default: use log_fd)"}, {{"log_fd", required_argument, NULL, 'L'}, "Log FD (default: 2)"}, {{"time_limit", required_argument, NULL, 't'}, "Maximum time that a jail can exist, in seconds (default: 600)"}, - {{"max_cpu_num", required_argument, NULL, 0x508}, "Maximum number of CPUs a single jailed process can use (default: 0 'no limit')"}, + {{"max_cpus", required_argument, NULL, 0x508}, "Maximum number of CPUs a single jailed process can use (default: 0 'no limit')"}, {{"daemon", no_argument, NULL, 'd'}, "Daemonize after start"}, {{"verbose", no_argument, NULL, 'v'}, "Verbose output"}, {{"quiet", no_argument, NULL, 'q'}, "Only output warning and more important messages"}, @@ -213,7 +213,7 @@ void cmdlineLogParams(struct nsjconf_t *nsjconf) "max_conns_per_ip:%u, time_limit:%ld, personality:%#lx, daemonize:%s, " "clone_newnet:%s, clone_newuser:%s, clone_newns:%s, clone_newpid:%s, " "clone_newipc:%s, clonew_newuts:%s, clone_newcgroup:%s, keep_caps:%s, " - "tmpfs_size:%zu, disable_no_new_privs:%s, max_cpu_num:%zu", + "tmpfs_size:%zu, disable_no_new_privs:%s, max_cpus:%zu", nsjconf->hostname, nsjconf->chroot ? nsjconf->chroot : "[NULL]", nsjconf->argv[0], nsjconf->bindhost, nsjconf->port, nsjconf->max_conns_per_ip, nsjconf->tlimit, nsjconf->personality, logYesNo(nsjconf->daemonize), logYesNo(nsjconf->clone_newnet), @@ -221,7 +221,7 @@ void cmdlineLogParams(struct nsjconf_t *nsjconf) logYesNo(nsjconf->clone_newpid), logYesNo(nsjconf->clone_newipc), logYesNo(nsjconf->clone_newuts), logYesNo(nsjconf->clone_newcgroup), logYesNo(nsjconf->keep_caps), nsjconf->tmpfs_size, - logYesNo(nsjconf->disable_no_new_privs), nsjconf->max_cpu_num); + logYesNo(nsjconf->disable_no_new_privs), nsjconf->max_cpus); { struct mounts_t *p; @@ -315,7 +315,7 @@ bool cmdlineParse(int argc, char *argv[], struct nsjconf_t * nsjconf) .loglevel = INFO, .daemonize = false, .tlimit = 0, - .max_cpu_num = 0, + .max_cpus = 0, .keep_caps = false, .disable_no_new_privs = false, .rl_as = 512 * (1024 * 1024), @@ -538,7 +538,7 @@ bool cmdlineParse(int argc, char *argv[], struct nsjconf_t * nsjconf) nsjconf->disable_no_new_privs = true; break; case 0x0508: - nsjconf->max_cpu_num = strtoul(optarg, NULL, 0); + nsjconf->max_cpus = strtoul(optarg, NULL, 0); break; case 0x0601: nsjconf->is_root_rw = true; diff --git a/common.h b/common.h index 1e8c8d2..62d78eb 100644 --- a/common.h +++ b/common.h @@ -124,7 +124,7 @@ struct nsjconf_t { enum llevel_t loglevel; bool daemonize; time_t tlimit; - size_t max_cpu_num; + size_t max_cpus; bool keep_env; bool keep_caps; bool disable_no_new_privs; diff --git a/config.c b/config.c index 69173c6..d9d18a3 100644 --- a/config.c +++ b/config.c @@ -68,7 +68,7 @@ static bool configParseInternal(struct nsjconf_t *nsjconf, Nsjail__NsJailConfig nsjconf->bindhost = utilStrDup(njc->bindhost); nsjconf->max_conns_per_ip = njc->max_conns_per_ip; nsjconf->tlimit = njc->time_limit; - nsjconf->max_cpu_num = njc->max_cpu_num; + nsjconf->max_cpus = njc->max_cpus; nsjconf->daemonize = njc->daemon; if (njc->has_log_fd) { diff --git a/config.proto b/config.proto index 39a28de..cf9816d 100644 --- a/config.proto +++ b/config.proto @@ -90,7 +90,7 @@ message NsJailConfig /* Should nsjail go into background? */ required bool daemon = 14 [ default = false ]; /* Maximum number of CPUs to use: 0 - no limit */ - required uint32 max_cpu_num = 62; + required uint32 max_cpus = 62; /* FD to log to. */ optional int32 log_fd = 61; diff --git a/configs/bash-with-fake-geteuid.cfg b/configs/bash-with-fake-geteuid.cfg index 3331174..5a4667b 100644 --- a/configs/bash-with-fake-geteuid.cfg +++ b/configs/bash-with-fake-geteuid.cfg @@ -19,7 +19,7 @@ port: 31337 time_limit: 100 daemon: false -max_cpu_num: 1 +max_cpus: 1 keep_env: false envar: "ENVAR1=VALUE1" diff --git a/cpu.c b/cpu.c index 6370063..1fc6c39 100644 --- a/cpu.c +++ b/cpu.c @@ -52,13 +52,13 @@ bool cpuInit(struct nsjconf_t *nsjconf) PLOG_W("sysconf(_SC_NPROCESSORS_ONLN) returned %ld", all_cpus); return false; } - if (nsjconf->max_cpu_num >= (size_t) all_cpus) { + if (nsjconf->max_cpus >= (size_t) all_cpus) { LOG_W("Requested number of CPUs:%zu is bigger than CPUs online:%ld", - nsjconf->max_cpu_num, all_cpus); + nsjconf->max_cpus, all_cpus); return true; } - if (nsjconf->max_cpu_num == 0) { - LOG_D("No max_cpu_num limit set"); + if (nsjconf->max_cpus == 0) { + LOG_D("No max_cpus limit set"); return true; } @@ -71,12 +71,12 @@ bool cpuInit(struct nsjconf_t *nsjconf) size_t mask_size = CPU_ALLOC_SIZE(all_cpus); CPU_ZERO_S(mask_size, mask); - for (size_t i = 0; i < nsjconf->max_cpu_num; i++) { + for (size_t i = 0; i < nsjconf->max_cpus; i++) { cpuSetRandomCpu(mask, mask_size, all_cpus); } if (sched_setaffinity(0, mask_size, mask) == -1) { - PLOG_W("sched_setaffinity(max_cpu_num=%zu) failed", nsjconf->max_cpu_num); + PLOG_W("sched_setaffinity(max_cpus=%zu) failed", nsjconf->max_cpus); CPU_FREE(mask); return false; }