(just a trivial example, more to come)

k_getrusage() holds rcu_read_lock() because it was previously required by
lock_task_sighand(). Unneeded now.

Signed-off-by: Oleg Nesterov <[EMAIL PROTECTED]>

--- 25/kernel/sys.c~2_GRU       2008-02-15 16:59:17.000000000 +0300
+++ 25/kernel/sys.c     2008-02-18 19:15:40.000000000 +0300
@@ -1548,11 +1548,8 @@ static void k_getrusage(struct task_stru
        memset((char *) r, 0, sizeof *r);
        utime = stime = cputime_zero;
 
-       rcu_read_lock();
-       if (!lock_task_sighand(p, &flags)) {
-               rcu_read_unlock();
+       if (!lock_task_sighand(p, &flags))
                return;
-       }
 
        switch (who) {
                case RUSAGE_BOTH:
@@ -1595,9 +1592,7 @@ static void k_getrusage(struct task_stru
                default:
                        BUG();
        }
-
        unlock_task_sighand(p, &flags);
-       rcu_read_unlock();
 
        cputime_to_timeval(utime, &r->ru_utime);
        cputime_to_timeval(stime, &r->ru_stime);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to