On Thu, Aug 02, 2007 at 04:31:12PM +0400, Alexey Dobriyan wrote:
> On Wed, Aug 01, 2007 at 10:55:39PM -0700, Roland McGrath wrote:
> > Here are outstanding problems (aside from TODO items) I know of off hand.
> > These range from bug reports I haven't looked into, to subtle old XXX
> > comments for which I'll have to dredge up memories of the details.
> > I hope someone likes to wikify or otherwise organize this list somewhere.
> > 
> > * detach vs report race
> >   Alexey Dobriyan <[EMAIL PROTECTED]> identified a race viz
> >   dead_engine_ops vs engine->flags
> >   Race explanation makes sense, but so far never been reproduced.
> >   Needs a little thought.
> > 
> > * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243534
> >   Unknown wedge, maybe stale report
> > 
> > * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=248532
> >   "tkill(SIGCONT) is not reported by waitpid()"
> >   Unexamined
> > 
> > * ia64 RBS scheme
> >   This is tortured IA64-specific issue that was known from the start but
> >   never properly handled.  The original contributors of the IA64 port
> >   dropped the ball on this part of the implementation.  It needs someone
> >   with coherent understanding of the ia64 RBS hardware and how the kernel
> >   uses it, to consult.
> > 
> > * https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=207002
> >   crash, needs investigation
> > 
> > * utrace_inject_signal ENOSYS for non-utrace_get_signal case
> >   Needs implementation with careful synchronization.
> >   Probably interface details change for "engine interaction" TODO item,
> >   making implementation story here different.
> > 
> > * ptrace race conditions
> >   See XXX in kernel/ptrace.c; need to rethink synchronization/life-cycle
> >   for ptrace_state.
> 
>   * unbounded utrace_engine_cache growth
>     started from 31a9ef5cfcdbae804e3e180c158bf2352728765a,
>     nobody knows why
>     testcase: at the end of  
> http://marc.info/?l=linux-kernel&m=117128445312243&w=2
> 
>   * _pointer_ to struct utrace, which I personally count as design bug.
>   
>     Rationale to fold struct utrace into task_struct is that lifetime
>     rules of task_struct are well established, well tested and so on. As
>     was demonstrated it also removes much complexity from attaching logic.
> 
> There is one more quick crash in rh bugzilla, but I'll post patch here very 
> soon.

Have you tested this with the latest utrace bits? AFAICS this specific
issue was fixed in June, with this one-liner:

--- a/include/linux/tracehook.h
+++ b/include/linux/tracehook.h
@@ -584,7 +584,7 @@ static inline void tracehook_report_deat
 {
        smp_mb();
        if (tsk_utrace_flags(tsk) & (UTRACE_EVENT(DEATH)
-                                    | UTRACE_ACTION_QUIESCE))
+                                    | UTRACE_EVENT(QUIESCE)))
                utrace_report_death(tsk, death_cookie);
 }

Ananth

Reply via email to