[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130531155351.830389cd15a543377fbaf289@linux-foundation.org>
Date: Fri, 31 May 2013 15:53:51 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: liguang <lig.fnst@...fujitsu.com>
Cc: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
David Howells <dhowells@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Michael Kerrisk <mtk.manpages@...il.com>,
Dave Jones <davej@...hat.com>,
Kees Cook <keescook@...omium.org>,
Cyrill Gorcunov <gorcunov@...nvz.org>,
Al Viro <viro@...iv.linux.org.uk>, linux-kernel@...r.kernel.org
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@...fujitsu.com> wrote:
> Signed-off-by: liguang <lig.fnst@...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@...ux-foundation.org>
Subject: kernel-sysc-remove-unnecessary-parameter-of-set_one_prio-fix
clean up definitions, remove unneeded assignment
Cc: liguang <lig.fnst@...fujitsu.com>
Signed-off-by: Andrew Morton <akpm@...ux-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)
_
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists