Merge to Fedora kernel-2.6.18-1.2255_FC5-vs2.0.2.2-rc9 patched with stable patch...
[linux-2.6.git] / arch / x86_64 / ia32 / ia32_signal.c
index ebda4a6..bddaefd 100644 (file)
@@ -491,7 +491,11 @@ int ia32_setup_frame(int sig, struct k_sigaction *ka,
 
        regs->cs = __USER32_CS; 
        regs->ss = __USER32_DS; 
+
        set_fs(USER_DS);
+    regs->eflags &= ~TF_MASK;
+    if (test_thread_flag(TIF_SINGLESTEP))
+        ptrace_notify(SIGTRAP);
 
 #if DEBUG_SIG
        printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n",
@@ -583,7 +587,11 @@ int ia32_setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
        
        regs->cs = __USER32_CS; 
        regs->ss = __USER32_DS; 
+
        set_fs(USER_DS);
+    regs->eflags &= ~TF_MASK;
+    if (test_thread_flag(TIF_SINGLESTEP))
+        ptrace_notify(SIGTRAP);
 
 #if DEBUG_SIG
        printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n",