Messages in this thread Patch in this message | | | Date | Fri, 31 May 2013 15:53:51 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/4] sys: remove unnecesscary parameter of set_one_prio |
| |
On Thu, 30 May 2013 15:58:03 +0800 liguang <lig.fnst@cn.fujitsu.com> wrote:
> Signed-off-by: liguang <lig.fnst@cn.fujitsu.com> > --- > kernel/sys.c | 12 +++++------- > 1 files changed, 5 insertions(+), 7 deletions(-) > > diff --git a/kernel/sys.c b/kernel/sys.c > index b95d3c7..07c6177 100644 > --- a/kernel/sys.c > +++ b/kernel/sys.c > @@ -151,9 +151,9 @@ static bool set_one_prio_perm(struct task_struct *p) > * set the priority of a task > * - the caller must hold the RCU read lock > */ > -static int set_one_prio(struct task_struct *p, int niceval, int error) > +static int set_one_prio(struct task_struct *p, int niceval) > { > - int no_nice; > + int no_nice, error = 0; > > if (!set_one_prio_perm(p)) { > error = -EPERM; > @@ -168,8 +168,6 @@ static int set_one_prio(struct task_struct *p, int niceval, int error) > error = no_nice; > goto out; > } > - if (error == -ESRCH) > - error = 0; > set_user_nice(p, niceval); > out: > return error; > @@ -203,7 +201,7 @@ SYSCALL_DEFINE3(setpriority, int, which, int, who, int, niceval) > else > p = current; > if (p) > - error = set_one_prio(p, niceval, error); > + error = set_one_prio(p, niceval); > break; > case PRIO_PGRP: > if (who) > @@ -211,7 +209,7 @@ SYSCALL_DEFINE3(setpriority, int, which, int, who, int, niceval) > else > pgrp = task_pgrp(current); > do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { > - error = set_one_prio(p, niceval, error); > + error = set_one_prio(p, niceval); > } while_each_pid_thread(pgrp, PIDTYPE_PGID, p); > break; > case PRIO_USER: > @@ -225,7 +223,7 @@ SYSCALL_DEFINE3(setpriority, int, which, int, who, int, niceval) > > do_each_thread(g, p) { > if (uid_eq(task_uid(p), uid)) > - error = set_one_prio(p, niceval, error); > + error = set_one_prio(p, niceval); > } while_each_thread(g, p); > if (!uid_eq(uid, cred->uid)) > free_uid(user); /* For find_user() */
Yes, that apepars to be an evuivalent change, but only because security_task_setnice() cannot return -ESRCH. The existing code is rather awkward.
A couple of changes:
From: Andrew Morton <akpm@linux-foundation.org> Subject: kernel-sysc-remove-unnecessary-parameter-of-set_one_prio-fix
clean up definitions, remove unneeded assignment
Cc: liguang <lig.fnst@cn.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> ---
kernel/sys.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff -puN kernel/sys.c~kernel-sysc-remove-unnecessary-parameter-of-set_one_prio-fix kernel/sys.c --- a/kernel/sys.c~kernel-sysc-remove-unnecessary-parameter-of-set_one_prio-fix +++ a/kernel/sys.c @@ -153,7 +153,8 @@ static bool set_one_prio_perm(struct tas */ static int set_one_prio(struct task_struct *p, int niceval) { - int no_nice, error = 0; + int no_nice; + int error = 0; if (!set_one_prio_perm(p)) { error = -EPERM; @@ -186,7 +187,6 @@ SYSCALL_DEFINE3(setpriority, int, which, goto out; /* normalize: avoid signed division (rounding problems) */ - error = -ESRCH; if (niceval < -20) niceval = -20; if (niceval > 19) _
| |