Re: [PATCH v5 6/6] signal: Don't restart fork when signals come in.

2018-08-09 Thread Eric W. Biederman
Linus Torvalds writes: > On Wed, Aug 8, 2018 at 11:57 PM Eric W. Biederman > wrote: >> >> The code was being overly pesimistic. > > Pessimistic. >> + if (type > PIDTYPE_TGID) { >> + struct multiprocess_signals *delayed; >> + hlist_for_each_entry(delayed, &t->s

Re: [PATCH v5 6/6] signal: Don't restart fork when signals come in.

2018-08-09 Thread Linus Torvalds
On Wed, Aug 8, 2018 at 11:57 PM Eric W. Biederman wrote: > > The code was being overly pesimistic. Pessimistic. > + if (type > PIDTYPE_TGID) { > + struct multiprocess_signals *delayed; > + hlist_for_each_entry(delayed, &t->signal->multiprocess, node) > { > +

[PATCH v5 6/6] signal: Don't restart fork when signals come in.

2018-08-08 Thread Eric W. Biederman
Wen Yang and majiang report that a periodic signal received during fork can cause fork to continually restart preventing an application from making progress. The code was being overly pesimistic. Fork needs to guarantee that a signal sent to multiple processes is logically delivered before the