From 34f014646fa920d509643ac84bec9b2aecb3b308 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 10 Dec 2009 00:53:21 +0000 Subject: [PATCH] --- yaml --- r: 178015 b: refs/heads/master c: 7cf7db8df0b78076eafa4ead47559344ca7b7a43 h: refs/heads/master i: 178013: ba0fbd152009507125c90c146ad11aeabbbd1765 178011: 59ba0cb5ba06346af1fb89b84b002a4245a17c9f 178007: 5fc83177efcb5b7d72d0e11933f194b579f5d968 177999: 947aeb6830492681bba0956cec554e58a39b68b4 177983: 8e90e2f47dd09ae14d674a66da2a995c2f697739 v: v3 --- [refs] | 2 +- trunk/kernel/signal.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index ba15d7048048..6d49f4b30c83 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 14d8c9f3c09e7fd7b9af80904289fe204f5b93c6 +refs/heads/master: 7cf7db8df0b78076eafa4ead47559344ca7b7a43 diff --git a/trunk/kernel/signal.c b/trunk/kernel/signal.c index 73316568a69c..f67545f9394c 100644 --- a/trunk/kernel/signal.c +++ b/trunk/kernel/signal.c @@ -218,13 +218,13 @@ __sigqueue_alloc(int sig, struct task_struct *t, gfp_t flags, int override_rlimi struct user_struct *user; /* - * We won't get problems with the target's UID changing under us - * because changing it requires RCU be used, and if t != current, the - * caller must be holding the RCU readlock (by way of a spinlock) and - * we use RCU protection here + * Protect access to @t credentials. This can go away when all + * callers hold rcu read lock. */ + rcu_read_lock(); user = get_uid(__task_cred(t)->user); atomic_inc(&user->sigpending); + rcu_read_unlock(); if (override_rlimit || atomic_read(&user->sigpending) <=