Beeing an active user mode linux user :-) I can say that since
2.4.0-test8 (host kernel) I cannot run uml-linux successfully.
In contrast with popular feeling that "threaded programes screwed
signal handling on test8.", it is actually a small change to
arch/i386/ptrace.c introduced since test8pre4.
Also, I remember complains from Andi Kleen noticed that new kernels
break ups (an alternative debugger).
See the following postings -
resulted in this change -
--- v2.4.0-test7/linux/arch/i386/kernel/ptrace.c Fri Jun 23 21:55:07 2000
+++ linux/arch/i386/kernel/ptrace.c Sat Sep 2 12:00:02 2000
@@ -99,6 +99,11 @@
value &= FLAG_MASK;
value |= get_stack_long(child, EFL_OFFSET) & ~FLAG_MASK;
+ case EIP:
+ /* Mark us as not being in a system call, so that no restart issues happen */
+ put_stack_long(child, 4*ORIG_EAX - sizeof(struct pt_regs), -1);
if (regno > GS*4)
regno -= 2*4;
While I cannot comment on the above change from technical point of view,
it seems the patch breaks more then it cures. Time to consider reversing?