git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
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
diff --git
a/arch/x86_64/ia32/ia32_signal.c
b/arch/x86_64/ia32/ia32_signal.c
index
ebda4a6
..
bddaefd
100644
(file)
--- a/
arch/x86_64/ia32/ia32_signal.c
+++ b/
arch/x86_64/ia32/ia32_signal.c
@@
-491,7
+491,11
@@
int ia32_setup_frame(int sig, struct k_sigaction *ka,
regs->cs = __USER32_CS;
regs->ss = __USER32_DS;
regs->cs = __USER32_CS;
regs->ss = __USER32_DS;
+
set_fs(USER_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",
#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;
regs->cs = __USER32_CS;
regs->ss = __USER32_DS;
+
set_fs(USER_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",
#if DEBUG_SIG
printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n",