Messages in this thread | | | Subject | Re: [RFC][PATCH 2/5] signal: Add rwlock to protect sighand->action | From | Matt Fleming <> | Date | Fri, 30 Sep 2011 16:56:43 +0100 |
| |
On Fri, 2011-09-30 at 16:12 +0100, Matt Fleming wrote: > @@ -2935,9 +3025,11 @@ int do_sigaction(int sig, struct k_sigaction *act, struct k_sigaction *oact) > if (!valid_signal(sig) || sig < 1 || (act && sig_kernel_only(sig))) > return -EINVAL; > > + spin_lock_irq(¤t->sighand->siglock); > + read_lock(¤t->sighand->action_lock); > + > k = &t->sighand->action[sig-1]; > > - spin_lock_irq(¤t->sighand->siglock); > if (oact) > *oact = *k; > > @@ -2967,6 +3059,7 @@ int do_sigaction(int sig, struct k_sigaction *act, struct k_sigaction *oact) > } > } > > + read_unlock(¤t->sighand->action_lock); > spin_unlock_irq(¤t->sighand->siglock); > return 0; > }
Guh! I just noticed this. That should obviously be write-locked.
-- Matt Fleming, Intel Open Source Technology Center
| |