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