On Thu, Aug 02, 2007 at 06:50:35PM +0530, Ananth N Mavinakayanahalli wrote: > 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 <adobriyan@xxxxx> 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? struct utrace double free? I can't because of "unbounded utrace_engine_cache growth". "while (1) ptrace(PTRACE_ATTACH," crash -- yes it was tested with latest utrace. > 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); > }