lkml.org 
[lkml]   [2010]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH 08/11] sched: send SIGXCPU at -deadline task overruns.
On 04/13, Peter Zijlstra wrote:
>
> On Sun, 2010-02-28 at 20:24 +0100, Raistlin wrote:
> >
> > +#define dl_se_signal(se, s, msg) \
> > + do { \
> > + struct task_struct *t = dl_task_of(se); \
> > + sigaddset(&t->pending.signal, s); \
> > + set_tsk_thread_flag(t, TIF_SIGPENDING); \
> > + printk(KERN_INFO msg "in %d (%s)\n", task_pid_nr(t), t->comm); \
> > + } while (0)
> > +

Without ->siglock?

This is racy even if dl_task_of(se) == current, but I guess it can
be !current. For example, we must never set TIF_SIGPENDING without
wake_up_state(). A fatal signal should kill the whole process, etc.
Even sigaddset() itself can race with tkill, it is not atomic.

Oleg.



\
 
 \ /
  Last update: 2010-04-13 21:37    [W:0.047 / U:8.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site