sched: Use clamp() and clamp_val() to make sys_nice() more readable
authorDongsheng Yang <yangds.fnst@cn.fujitsu.com>
Thu, 8 May 2014 09:35:15 +0000 (18:35 +0900)
committerIngo Molnar <mingo@kernel.org>
Thu, 22 May 2014 09:16:31 +0000 (11:16 +0200)
Suggested-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1399541715-19568-1-git-send-email-yangds.fnst@cn.fujitsu.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
kernel/sched/core.c

index 6340c601475d3dd76c48268360a3ac664070aeb4..f5605b6deea4b48a585ba939accb764f2434db3e 100644 (file)
@@ -3057,17 +3057,10 @@ SYSCALL_DEFINE1(nice, int, increment)
         * We don't have to worry. Conceptually one call occurs first
         * and we have a single winner.
         */
-       if (increment < -40)
-               increment = -40;
-       if (increment > 40)
-               increment = 40;
-
+       increment = clamp(increment, -NICE_WIDTH, NICE_WIDTH);
        nice = task_nice(current) + increment;
-       if (nice < MIN_NICE)
-               nice = MIN_NICE;
-       if (nice > MAX_NICE)
-               nice = MAX_NICE;
 
+       nice = clamp_val(nice, MIN_NICE, MAX_NICE);
        if (increment < 0 && !can_nice(current, nice))
                return -EPERM;