projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
100360f
)
__exit_signal: don't take rcu lock
author
Oleg Nesterov
<
[email protected]
>
Fri, 25 Jul 2008 08:47:29 +0000
(
01:47
-0700)
committer
Linus Torvalds
<
[email protected]
>
Fri, 25 Jul 2008 17:53:38 +0000
(10:53 -0700)
There is no reason for rcu_read_lock() in __exit_signal(). tsk->sighand
can only be changed if tsk does exec, obviously this is not possible.
Signed-off-by: Oleg Nesterov <
[email protected]
>
Cc: Roland McGrath <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
kernel/exit.c
patch
|
blob
|
history
diff --git
a/kernel/exit.c
b/kernel/exit.c
index 93d2711b938123d34f1c0011e8f91a589b465615..a7799d8a640495756f63c579f48f048e568addae 100644
(file)
--- a/
kernel/exit.c
+++ b/
kernel/exit.c
@@
-85,7
+85,6
@@
static void __exit_signal(struct task_struct *tsk)
BUG_ON(!sig);
BUG_ON(!atomic_read(&sig->count));
- rcu_read_lock();
sighand = rcu_dereference(tsk->sighand);
spin_lock(&sighand->siglock);
@@
-136,7
+135,6
@@
static void __exit_signal(struct task_struct *tsk)
tsk->signal = NULL;
tsk->sighand = NULL;
spin_unlock(&sighand->siglock);
- rcu_read_unlock();
__cleanup_sighand(sighand);
clear_tsk_thread_flag(tsk,TIF_SIGPENDING);