2007-05-10 17:23:50

by Daniel Walker

[permalink] [raw]
Subject: [PATCH] use defines in sys_getpriority/sys_setpriority

Switch to the defines for these two checks, instead of hard
coding the values.

Signed-Off-By: Daniel Walker <[email protected]>

---
kernel/sys.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.21/kernel/sys.c
===================================================================
--- linux-2.6.21.orig/kernel/sys.c
+++ linux-2.6.21/kernel/sys.c
@@ -598,7 +598,7 @@ asmlinkage long sys_setpriority(int whic
int error = -EINVAL;
struct pid *pgrp;

- if (which > 2 || which < 0)
+ if (which > PRIO_USER || which < PRIO_PROCESS)
goto out;

/* normalize: avoid signed division (rounding problems) */
@@ -662,7 +662,7 @@ asmlinkage long sys_getpriority(int whic
long niceval, retval = -ESRCH;
struct pid *pgrp;

- if (which > 2 || which < 0)
+ if (which > PRIO_USER || which < PRIO_PROCESS)
return -EINVAL;

read_lock(&tasklist_lock);
--

--


2007-05-10 23:48:34

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] use defines in sys_getpriority/sys_setpriority

On Thu, 10 May 2007 10:22:23 -0700
Daniel Walker <[email protected]> wrote:

> Switch to the defines for these two checks, instead of hard
> coding the values.
>
> Signed-Off-By: Daniel Walker <[email protected]>
>
> ---
> kernel/sys.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Index: linux-2.6.21/kernel/sys.c
> ===================================================================
> --- linux-2.6.21.orig/kernel/sys.c
> +++ linux-2.6.21/kernel/sys.c
> @@ -598,7 +598,7 @@ asmlinkage long sys_setpriority(int whic
> int error = -EINVAL;
> struct pid *pgrp;
>
> - if (which > 2 || which < 0)
> + if (which > PRIO_USER || which < PRIO_PROCESS)
> goto out;
>
> /* normalize: avoid signed division (rounding problems) */
> @@ -662,7 +662,7 @@ asmlinkage long sys_getpriority(int whic
> long niceval, retval = -ESRCH;
> struct pid *pgrp;
>
> - if (which > 2 || which < 0)
> + if (which > PRIO_USER || which < PRIO_PROCESS)
> return -EINVAL;
>
> read_lock(&tasklist_lock);

I added this:

--- a/kernel/sys.c~use-defines-in-sys_getpriority-sys_setpriority-fix
+++ a/kernel/sys.c
@@ -14,6 +14,7 @@
#include <linux/prctl.h>
#include <linux/highuid.h>
#include <linux/fs.h>
+#include <linux/resource.h>
#include <linux/kernel.h>
#include <linux/kexec.h>
#include <linux/workqueue.h>
_