|
@@ -36,6 +36,11 @@
|
|
|
|
|
|
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
|
|
|
|
|
|
+#define FIX_EFLAGS (X86_EFLAGS_AC | X86_EFLAGS_OF | \
|
|
|
+ X86_EFLAGS_DF | X86_EFLAGS_TF | X86_EFLAGS_SF | \
|
|
|
+ X86_EFLAGS_ZF | X86_EFLAGS_AF | X86_EFLAGS_PF | \
|
|
|
+ X86_EFLAGS_CF)
|
|
|
+
|
|
|
asmlinkage int do_signal(struct pt_regs *regs, sigset_t *oldset);
|
|
|
void signal_fault(struct pt_regs *regs, void __user *frame, char *where);
|
|
|
|
|
@@ -248,7 +253,7 @@ static int ia32_restore_sigcontext(struct pt_regs *regs,
|
|
|
regs->ss |= 3;
|
|
|
|
|
|
err |= __get_user(tmpflags, &sc->flags);
|
|
|
- regs->flags = (regs->flags & ~0x40DD5) | (tmpflags & 0x40DD5);
|
|
|
+ regs->flags = (regs->flags & ~FIX_EFLAGS) | (tmpflags & FIX_EFLAGS);
|
|
|
/* disable syscall checks */
|
|
|
regs->orig_ax = -1;
|
|
|
|