From 2231f7683114039ed226f3c8dc9b18440612bb7c Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Sat, 26 Mar 2011 02:58:32 +0000 Subject: [PATCH] Patch #22: Prevents a user from setting negative nice values using sbatch #PBS directives. --- src/sbatch/opt.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/sbatch/opt.c b/src/sbatch/opt.c index 83b1711ed6b..c44c37095d7 100644 --- a/src/sbatch/opt.c +++ b/src/sbatch/opt.c @@ -1756,6 +1756,15 @@ static void _set_pbs_options(int argc, char **argv) "-%d and %d", NICE_OFFSET, NICE_OFFSET); exit(error_exit); } + if (opt.nice < 0) { + uid_t my_uid = getuid(); + if ((my_uid != 0) && + (my_uid != slurm_get_slurm_user_id())) { + error("Nice value must be " + "non-negative, value ignored"); + opt.nice = 0; + } + } break; case 'q': xfree(opt.partition); @@ -1976,6 +1985,15 @@ static void _parse_pbs_resource_list(char *rl) "-%d and %d", NICE_OFFSET, NICE_OFFSET); exit(error_exit); } + if (opt.nice < 0) { + uid_t my_uid = getuid(); + if ((my_uid != 0) && + (my_uid != slurm_get_slurm_user_id())) { + error("Nice value must be " + "non-negative, value ignored"); + opt.nice = 0; + } + } xfree(temp); } else if(!strncmp(rl+i, "nodes=", 6)) { i+=6; -- GitLab